From 9e86c1c90d66350b80e7f9623b3240ef70aaf6da Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Thu, 5 Nov 2020 16:05:54 +0000 Subject: [PATCH] p2p: fix endianness when checking IPv6 addresses mapping to IPv4 --- src/p2p/net_node.inl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index d4e02f43e..7244940ad 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -1497,11 +1497,9 @@ namespace nodetool if (actual_ip.is_v4_mapped()) { boost::asio::ip::address_v4 v4ip = make_address_v4_from_v6(actual_ip); -#if BOOST_VERSION >= 106600 - return epee::net_utils::ipv4_network_address(v4ip.to_uint(), 0).host_str(); -#else - return epee::net_utils::ipv4_network_address(v4ip.to_ulong(), 0).host_str(); -#endif + uint32_t actual_ipv4; + memcpy(&actual_ipv4, v4ip.to_bytes().data(), sizeof(actual_ipv4)); + return epee::net_utils::ipv4_network_address(actual_ipv4, 0).host_str(); } } return address.host_str();