[OpenWrt-Devel] [PATCH 1/2] netifd: fix incorrect number of bytes memset in clear_if_addr

Hans Dedecker dedeckeh at gmail.com
Tue Aug 5 05:22:26 EDT 2014


Fix clear_if_addr for IPv6 addresses as an incorrect number of bytes were memset due to wrong sizeof argument

Signed-off-by: Hans Dedecker <dedeckeh at gmail.com>
---
 interface-ip.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/interface-ip.c b/interface-ip.c
index 587826a..8d4434b 100644
--- a/interface-ip.c
+++ b/interface-ip.c
@@ -75,8 +75,8 @@ clear_if_addr(union if_addr *a, int mask)
 	uint8_t m_clear = (1 << (m_bytes * 8 - mask)) - 1;
 	uint8_t *p = (uint8_t *) a;
 
-	if (m_bytes < sizeof(a))
-		memset(p + m_bytes, 0, sizeof(a) - m_bytes);
+	if (m_bytes < sizeof(*a))
+		memset(p + m_bytes, 0, sizeof(*a) - m_bytes);
 
 	p[m_bytes - 1] &= ~m_clear;
 }
-- 
1.7.9.5
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list