From 7656e981b6633635e72bacc447bc6d3ab88ce0cd Mon Sep 17 00:00:00 2001 From: Lin Zhang Date: Mon, 6 Apr 2020 12:48:32 +0200 Subject: [PATCH] android: fix OOB write in uv_interface_addresses() PR-URL: https://github.com/libuv/libuv/pull/2767 Reviewed-By: Ben Noordhuis Reviewed-By: Colin Ihrig Reviewed-By: David Carlier Reviewed-By: Richard Lau --- src/unix/android-ifaddrs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/unix/android-ifaddrs.c b/src/unix/android-ifaddrs.c index 7d48c6af..4765cc06 100644 --- a/src/unix/android-ifaddrs.c +++ b/src/unix/android-ifaddrs.c @@ -470,13 +470,14 @@ static int interpretAddr(struct nlmsghdr *p_hdr, struct ifaddrs **p_resultList, { case IFA_ADDRESS: case IFA_LOCAL: + l_addrSize += NLMSG_ALIGN(calcAddrLen(l_info->ifa_family, l_rtaDataSize)); if((l_info->ifa_family == AF_INET || l_info->ifa_family == AF_INET6) && !l_addedNetmask) { /* Make room for netmask */ l_addrSize += NLMSG_ALIGN(calcAddrLen(l_info->ifa_family, l_rtaDataSize)); l_addedNetmask = 1; } - break; + break; case IFA_BROADCAST: l_addrSize += NLMSG_ALIGN(calcAddrLen(l_info->ifa_family, l_rtaDataSize)); break;