diff options
author | cjihrig <cjihrig@gmail.com> | 2021-06-20 01:12:54 +0300 |
---|---|---|
committer | Node.js GitHub Bot <github-bot@iojs.org> | 2021-06-22 05:06:46 +0300 |
commit | b82a1a1ac95d4e794657e99146f6777344c59dac (patch) | |
tree | 3a50130f3feb51a73aac992aaa80e030dd170716 /src/node_sockaddr.cc | |
parent | c5cc3d4a8b22f4677311bccd609c7792d788db2b (diff) |
src: compare IPv4 addresses in host byte order
This commit updates compare_ipv4() to use the host byte
order.
PR-URL: https://github.com/nodejs/node/pull/39096
Fixes: https://github.com/nodejs/node/issues/39074
Reviewed-By: Khaidi Chu <i@2333.moe>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'src/node_sockaddr.cc')
-rw-r--r-- | src/node_sockaddr.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/node_sockaddr.cc b/src/node_sockaddr.cc index b15b6ab4719..09a74f30292 100644 --- a/src/node_sockaddr.cc +++ b/src/node_sockaddr.cc @@ -159,10 +159,12 @@ SocketAddress::CompareResult compare_ipv4( reinterpret_cast<const sockaddr_in*>(one.data()); const sockaddr_in* two_in = reinterpret_cast<const sockaddr_in*>(two.data()); + const uint32_t s_addr_one = ntohl(one_in->sin_addr.s_addr); + const uint32_t s_addr_two = ntohl(two_in->sin_addr.s_addr); - if (one_in->sin_addr.s_addr < two_in->sin_addr.s_addr) + if (s_addr_one < s_addr_two) return SocketAddress::CompareResult::LESS_THAN; - else if (one_in->sin_addr.s_addr == two_in->sin_addr.s_addr) + else if (s_addr_one == s_addr_two) return SocketAddress::CompareResult::SAME; else return SocketAddress::CompareResult::GREATER_THAN; |