From: Hans Dedecker Date: Tue, 5 Aug 2014 08:22:26 +0000 (+0000) Subject: netifd: fix incorrect number of bytes memset in clear_if_addr X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=commitdiff_plain;h=e4aebda4d774d0b92f4c95c4490745aaedf4cd35 netifd: fix incorrect number of bytes memset in clear_if_addr 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 --- 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; }