diff options
Diffstat (limited to 'libsysutils')
-rw-r--r-- | libsysutils/src/NetlinkEvent.cpp | 8 | ||||
-rw-r--r-- | libsysutils/src/SocketListener.cpp | 7 |
2 files changed, 7 insertions, 8 deletions
diff --git a/libsysutils/src/NetlinkEvent.cpp b/libsysutils/src/NetlinkEvent.cpp index 23dcd6273..739fad7d0 100644 --- a/libsysutils/src/NetlinkEvent.cpp +++ b/libsysutils/src/NetlinkEvent.cpp @@ -159,7 +159,7 @@ bool NetlinkEvent::parseIfAddrMessage(const struct nlmsghdr *nh) { struct ifaddrmsg *ifaddr = (struct ifaddrmsg *) NLMSG_DATA(nh); struct ifa_cacheinfo *cacheinfo = NULL; char addrstr[INET6_ADDRSTRLEN] = ""; - char ifname[IFNAMSIZ]; + char ifname[IFNAMSIZ] = ""; if (!checkRtNetlinkLength(nh, sizeof(*ifaddr))) return false; @@ -207,8 +207,7 @@ bool NetlinkEvent::parseIfAddrMessage(const struct nlmsghdr *nh) { // Find the interface name. if (!if_indextoname(ifaddr->ifa_index, ifname)) { - SLOGE("Unknown ifindex %d in %s", ifaddr->ifa_index, msgtype); - return false; + SLOGD("Unknown ifindex %d in %s", ifaddr->ifa_index, msgtype); } } else if (rta->rta_type == IFA_CACHEINFO) { @@ -235,8 +234,7 @@ bool NetlinkEvent::parseIfAddrMessage(const struct nlmsghdr *nh) { mAction = (type == RTM_NEWADDR) ? Action::kAddressUpdated : Action::kAddressRemoved; mSubsystem = strdup("net"); - asprintf(&mParams[0], "ADDRESS=%s/%d", addrstr, - ifaddr->ifa_prefixlen); + asprintf(&mParams[0], "ADDRESS=%s/%d", addrstr, ifaddr->ifa_prefixlen); asprintf(&mParams[1], "INTERFACE=%s", ifname); asprintf(&mParams[2], "FLAGS=%u", ifaddr->ifa_flags); asprintf(&mParams[3], "SCOPE=%u", ifaddr->ifa_scope); 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) { |