[PATCH] busybox: fix uninitialized memory when displaying IPv6 addresses

Felix Fietkau nbd at openwrt.org
Mon Jan 18 11:07:35 UTC 2016


After commit 8e74adab0107658e3dc04ed342206272a284f43e
("libbb: make INET[6]_rresolve use sockaddr2{host,dotted}_noport")
INET_sprint6 uses more than just sin6_addr, it also tries to display the
scope id, which is uninitialized when called from ife_print6.

Signed-off-by: Felix Fietkau <nbd at openwrt.org>
---
 networking/interface.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/networking/interface.c b/networking/interface.c
index 24bd13c..e5723b4 100644
--- a/networking/interface.c
+++ b/networking/interface.c
@@ -881,6 +881,7 @@ static void ife_print6(struct interface *ptr)
 			sprintf(addr6, "%s:%s:%s:%s:%s:%s:%s:%s",
 					addr6p[0], addr6p[1], addr6p[2], addr6p[3],
 					addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
+			memset(&sap, 0, sizeof(sap));
 			inet_pton(AF_INET6, addr6,
 					  (struct sockaddr *) &sap.sin6_addr);
 			sap.sin6_family = AF_INET6;
-- 
2.2.2



More information about the busybox mailing list