busybox: fix broken IPv6 address displaying in ifconfig

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48306
This commit is contained in:
Felix Fietkau 2016-01-18 11:11:26 +00:00
parent a78bb9590f
commit e0bfd25295

View file

@ -0,0 +1,23 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 18 Jan 2016 12:03:45 +0100
Subject: [PATCH] networking: fix uninitialized memory when displaying IPv6
addresses
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@openwrt.org>
---
--- a/networking/interface.c
+++ b/networking/interface.c
@@ -881,6 +881,7 @@ static void ife_print6(struct interface
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;