---
src/util/virsocketaddr.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c
index 91bcadf..6d13ad9 100644
--- a/src/util/virsocketaddr.c
+++ b/src/util/virsocketaddr.c
@@ -850,7 +850,14 @@ virSocketAddrGetIpPrefix(const virSocketAddr *address,
}
return -1;
} else if (VIR_SOCKET_ADDR_IS_FAMILY(address, AF_INET6)) {
- if (address->data.inet6.sin6_addr.s6_addr == 0)
+ bool isZero = true;
+ size_t i = 0;
+ for (i = 0; i < 16; i++)
+ if (address->data.inet6.sin6_addr.s6_addr[i] != 0) {
+ isZero = true;
+ break;
+ }
+ if (isZero)
return 0;
return 64;
}
--
2.1.2