Switch from using sockaddr to sockaddr_storage.

This is to ensure sufficient space is always available.

Change-Id: Ifa87b93ecdc90dcacbfb24446c872344da6703d3
This commit is contained in:
Erik Kline 2015-12-01 17:27:59 +09:00
parent 86ccd4ad3f
commit 2b0a64f26d
1 changed files with 4 additions and 3 deletions

7
lmkd.c
View File

@ -410,7 +410,8 @@ static void ctrl_data_handler(uint32_t events) {
}
static void ctrl_connect_handler(uint32_t events __unused) {
struct sockaddr addr;
struct sockaddr_storage ss;
struct sockaddr *addrp = (struct sockaddr *)&ss;
socklen_t alen;
struct epoll_event epev;
@ -419,8 +420,8 @@ static void ctrl_connect_handler(uint32_t events __unused) {
ctrl_dfd_reopened = 1;
}
alen = sizeof(addr);
ctrl_dfd = accept(ctrl_lfd, &addr, &alen);
alen = sizeof(ss);
ctrl_dfd = accept(ctrl_lfd, addrp, &alen);
if (ctrl_dfd < 0) {
ALOGE("lmkd control socket accept failed; errno=%d", errno);