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