From b03f14400ae840f1b1057a4b9db2c3fbfe43a905 Mon Sep 17 00:00:00 2001 From: patrick96 <p.ziegler96@gmail.com> Date: Sat, 17 Nov 2018 14:31:28 +0100 Subject: [PATCH] fix(net): buffer overflow when gathering ipv6 addr --- src/adapters/net.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/adapters/net.cpp b/src/adapters/net.cpp index d7a2cb13..74702bab 100644 --- a/src/adapters/net.cpp +++ b/src/adapters/net.cpp @@ -85,7 +85,7 @@ namespace net { break; case AF_INET6: - char ip6_buffer[INET_ADDRSTRLEN]; + char ip6_buffer[INET6_ADDRSTRLEN]; sa6 = reinterpret_cast<decltype(sa6)>(ifa->ifa_addr); if (IN6_IS_ADDR_LINKLOCAL(&sa6->sin6_addr)) { continue; @@ -97,7 +97,7 @@ namespace net { /* Skip Unique Local Addresses (fc00::/7) */ continue; } - if (inet_ntop(AF_INET6, &sa6->sin6_addr, ip6_buffer, NI_MAXHOST) == 0) { + if (inet_ntop(AF_INET6, &sa6->sin6_addr, ip6_buffer, INET6_ADDRSTRLEN) == 0) { m_log.warn("inet_ntop() " + string(strerror(errno))); continue; }