summaryrefslogtreecommitdiffstats
path: root/libsysutils/src
diff options
context:
space:
mode:
authorErik Kline <ek@google.com>2015-12-01 17:27:59 +0900
committerErik Kline <ek@google.com>2015-12-07 16:07:46 +0900
commit7e16cc15b5e16ec35f4c9f0516a6cacf90326856 (patch)
treeac9676eac446d951c7a0726f9b2ec24c3e96fe1c /libsysutils/src
parent1462c78c9cb1b4ee8d6b68b33fa7be64d6b9fbd4 (diff)
downloadcore-7e16cc15b5e16ec35f4c9f0516a6cacf90326856.tar.gz
core-7e16cc15b5e16ec35f4c9f0516a6cacf90326856.tar.bz2
core-7e16cc15b5e16ec35f4c9f0516a6cacf90326856.zip
Switch from using sockaddr to sockaddr_storage.
This is to ensure sufficient space is always available. Change-Id: Ifa87b93ecdc90dcacbfb24446c872344da6703d3
Diffstat (limited to 'libsysutils/src')
-rw-r--r--libsysutils/src/SocketListener.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/libsysutils/src/SocketListener.cpp b/libsysutils/src/SocketListener.cpp
index 3011ed7a8..168899c56 100644
--- a/libsysutils/src/SocketListener.cpp
+++ b/libsysutils/src/SocketListener.cpp
@@ -199,13 +199,14 @@ void SocketListener::runListener() {
continue;
}
if (mListen && FD_ISSET(mSock, &read_fds)) {
- struct sockaddr addr;
+ sockaddr_storage ss;
+ sockaddr* addrp = reinterpret_cast<sockaddr*>(&ss);
socklen_t alen;
int c;
do {
- alen = sizeof(addr);
- c = accept(mSock, &addr, &alen);
+ alen = sizeof(ss);
+ c = accept(mSock, addrp, &alen);
SLOGV("%s got %d from accept", mSocketName, c);
} while (c < 0 && errno == EINTR);
if (c < 0) {