From 814534bccfcf9ff936ffb8de79d1701a1db78e1d Mon Sep 17 00:00:00 2001 From: Tom Early Date: Thu, 9 Apr 2020 15:10:57 -0700 Subject: [PATCH] IPV6 address comparison uses memcmp --- SockAddress.h | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/SockAddress.h b/SockAddress.h index 7c993d9..e5ebebc 100644 --- a/SockAddress.h +++ b/SockAddress.h @@ -92,11 +92,7 @@ public: } else if (AF_INET6 == addr.ss_family) { auto l = (struct sockaddr_in6 *)&addr; auto r = (struct sockaddr_in6 *)&rhs.addr; - for (int i=0; i<16; i++) { - if (l->sin6_addr.s6_addr[i] != r->sin6_addr.s6_addr[i]) - return false; - } - return true; + return (0 == memcmp(&(l->sin6_addr), &(r->sin6_addr), sizeof(struct in6_addr))); } return false; } @@ -112,11 +108,7 @@ public: } else if (AF_INET6 == addr.ss_family) { auto l = (struct sockaddr_in6 *)&addr; auto r = (struct sockaddr_in6 *)&rhs.addr; - for (int i=0; i<16; i++) { - if (l->sin6_addr.s6_addr[i] != r->sin6_addr.s6_addr[i]) - return true; - } - return false; + return (0 != memcmp(&(l->sin6_addr), &(r->sin6_addr), sizeof(struct in6_addr))); } return true; }