From: tw19881113@gmail.com Date: Wed, 30 Dec 2015 07:24:43 +0000 (+0800) Subject: fix buffer overflow in ifaddrs.c X-Git-Tag: lxc-2.0.0.beta2~76^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F743%2Fhead;p=thirdparty%2Flxc.git fix buffer overflow in ifaddrs.c jenkins: ok to test Signed-off-by: Tw --- diff --git a/src/include/ifaddrs.c b/src/include/ifaddrs.c index 109f32297..1f954dd7d 100644 --- a/src/include/ifaddrs.c +++ b/src/include/ifaddrs.c @@ -473,7 +473,9 @@ static void interpretAddr(struct nlmsghdr *p_hdr, struct ifaddrs **p_links, stru { l_mask[i] = 0xff; } - l_mask[i] = 0xff << (8 - (l_prefix % 8)); + if (l_prefix % 8) { + l_mask[i] = 0xff << (8 - (l_prefix % 8)); + } makeSockaddr(l_entry->ifa_addr->sa_family, (struct sockaddr *)l_addr, l_mask, l_maxPrefix / 8); l_entry->ifa_netmask = (struct sockaddr *)l_addr;