The ifa_netmask is null when failed to call ioctl
in getifaddrs

Signed-off-by: Haifeng Lin <[email protected]>
---
 lib/netdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/netdev.c b/lib/netdev.c
index a7840a8..c731b80 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -1982,7 +1982,8 @@ netdev_get_addrs(const char dev[], struct in6_addr 
**paddr,
             sin6 = ALIGNED_CAST(const struct sockaddr_in6 *, ifa->ifa_addr);
             memcpy(&addr_array[i], &sin6->sin6_addr, sizeof *addr_array);
             sin6 = ALIGNED_CAST(const struct sockaddr_in6 *, ifa->ifa_netmask);
-            memcpy(&mask_array[i], &sin6->sin6_addr, sizeof *mask_array);
+            if (sin6)
+                memcpy(&mask_array[i], &sin6->sin6_addr, sizeof *mask_array);
             i++;
         }
     }
-- 
1.8.5.2.msysgit.0


_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to