aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavdeep Parhar <np@FreeBSD.org>2022-05-19 19:25:30 +0000
committerNavdeep Parhar <np@FreeBSD.org>2022-05-19 22:55:08 +0000
commit87c5ff0648a8e88b71a66994e1f9ca127fd4ed83 (patch)
tree93cf5ce3a025bb31c1a68320cd0936294ccd1c8b
parente343ebbfbe97104093ba1ab5d089e8363c170df5 (diff)
downloadsrc-87c5ff0648a8e88b71a66994e1f9ca127fd4ed83.tar.gz
src-87c5ff0648a8e88b71a66994e1f9ca127fd4ed83.zip
cxgbe/iw_cxgbe: c4iw_zero_addr should not use IN_ZERONET.
c4iw_zero_addr is supposed to check for all-zero addresses but was using IN_ZERONET (which does something different) for IPv4 addresses. Fix it by simply checking for 0 as is done for IPv6 addresses. Reported by: karels@ MFC after: 3 days Sponsored by: Chelsio Communications
-rw-r--r--sys/dev/cxgbe/iw_cxgbe/cm.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/dev/cxgbe/iw_cxgbe/cm.c b/sys/dev/cxgbe/iw_cxgbe/cm.c
index 93d824730735..31a401c8ef48 100644
--- a/sys/dev/cxgbe/iw_cxgbe/cm.c
+++ b/sys/dev/cxgbe/iw_cxgbe/cm.c
@@ -938,8 +938,7 @@ static inline int c4iw_zero_addr(struct sockaddr *addr)
struct in6_addr *ip6;
if (addr->sa_family == AF_INET)
- return IN_ZERONET(
- ntohl(((struct sockaddr_in *)addr)->sin_addr.s_addr));
+ return (((struct sockaddr_in *)addr)->sin_addr.s_addr == 0);
else {
ip6 = &((struct sockaddr_in6 *) addr)->sin6_addr;
return (ip6->s6_addr32[0] | ip6->s6_addr32[1] |