From da4cacd1fa7a02a59b1b2adf8dcac58da7dfd81e Mon Sep 17 00:00:00 2001 From: "tw19881113@gmail.com" Date: Wed, 30 Dec 2015 15:24:43 +0800 Subject: [PATCH] fix buffer overflow in ifaddrs.c jenkins: ok to test Signed-off-by: Tw --- src/include/ifaddrs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; -- 2.47.2