busybox: fix broken IPv6 address displaying in ifconfig
authorFelix Fietkau <nbd@openwrt.org>
Mon, 18 Jan 2016 11:11:26 +0000 (11:11 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 18 Jan 2016 11:11:26 +0000 (11:11 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48306

package/utils/busybox/patches/010-networking-fix-uninitialized-memory-when-displaying-.patch [new file with mode: 0644]

diff --git a/package/utils/busybox/patches/010-networking-fix-uninitialized-memory-when-displaying-.patch b/package/utils/busybox/patches/010-networking-fix-uninitialized-memory-when-displaying-.patch
new file mode 100644 (file)
index 0000000..554fc8f
--- /dev/null
@@ -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;