From 6bf774d8536b63a95d59ef73ed142bdfd5ab9528 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Wed, 18 Apr 2012 21:34:23 +0700 Subject: [PATCH] Use INET6_ADDRSTRLEN instead of magic number 40. Also 40 is too small, the string can be longer. --- src/Socket.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Socket.cpp b/src/Socket.cpp index 630cc142..457b4b34 100644 --- a/src/Socket.cpp +++ b/src/Socket.cpp @@ -262,11 +262,11 @@ void CSockManager::SetTDNSThreadFinished(TDNSTask* task, bool bBind, addrinfo* a CString sBindhost; CString sTargetHost; if (!task->sBindhost.empty()) { - char s[40] = {}; // 40 is enough for both ipv4 and ipv6 addresses, including 0 terminator. + char s[INET6_ADDRSTRLEN] = {}; getnameinfo(aiBind->ai_addr, aiBind->ai_addrlen, s, sizeof(s), NULL, 0, NI_NUMERICHOST); sBindhost = s; } - char s[40] = {}; + char s[INET6_ADDRSTRLEN] = {}; getnameinfo(aiTarget->ai_addr, aiTarget->ai_addrlen, s, sizeof(s), NULL, 0, NI_NUMERICHOST); sTargetHost = s;