diff options
author | Daniel Stenberg <daniel@haxx.se> | 2020-05-18 18:41:20 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-05-19 08:11:46 +0200 |
commit | 67521b5ecf0e3b0d8ea5278b02400811715069be (patch) | |
tree | b8963f3895eb50192c272b3a4bc5a09fa8cddf08 /lib/hostip.c | |
parent | dbc5c1773845f9244d6c9a73f7a1069619322ddc (diff) | |
download | curl-67521b5ecf0e3b0d8ea5278b02400811715069be.tar.gz |
hostip: make Curl_printable_address not return anything
It was not used much anyway and instead we let it store a blank buffer
in case of failure.
Reported-by: MonocleAI
Fixes #5411
Closes #5418
Diffstat (limited to 'lib/hostip.c')
-rw-r--r-- | lib/hostip.c | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/lib/hostip.c b/lib/hostip.c index af907262b..025d9a784 100644 --- a/lib/hostip.c +++ b/lib/hostip.c @@ -131,39 +131,36 @@ int Curl_num_addresses(const struct Curl_addrinfo *addr) } /* - * Curl_printable_address() returns a printable version of the 1st address + * Curl_printable_address() stores a printable version of the 1st address * given in the 'ai' argument. The result will be stored in the buf that is * bufsize bytes big. * - * If the conversion fails, it returns NULL. + * If the conversion fails, the target buffer is empty. */ -const char *Curl_printable_address(const struct Curl_addrinfo *ai, char *buf, - size_t bufsize) +void Curl_printable_address(const struct Curl_addrinfo *ai, char *buf, + size_t bufsize) { - const struct sockaddr_in *sa4; - const struct in_addr *ipaddr4; -#ifdef ENABLE_IPV6 - const struct sockaddr_in6 *sa6; - const struct in6_addr *ipaddr6; -#endif + DEBUGASSERT(bufsize); + buf[0] = 0; switch(ai->ai_family) { - case AF_INET: - sa4 = (const void *)ai->ai_addr; - ipaddr4 = &sa4->sin_addr; - return Curl_inet_ntop(ai->ai_family, (const void *)ipaddr4, buf, - bufsize); + case AF_INET: { + const struct sockaddr_in *sa4 = (const void *)ai->ai_addr; + const struct in_addr *ipaddr4 = &sa4->sin_addr; + (void)Curl_inet_ntop(ai->ai_family, (const void *)ipaddr4, buf, bufsize); + break; + } #ifdef ENABLE_IPV6 - case AF_INET6: - sa6 = (const void *)ai->ai_addr; - ipaddr6 = &sa6->sin6_addr; - return Curl_inet_ntop(ai->ai_family, (const void *)ipaddr6, buf, - bufsize); + case AF_INET6: { + const struct sockaddr_in6 *sa6 = (const void *)ai->ai_addr; + const struct in6_addr *ipaddr6 = &sa6->sin6_addr; + (void)Curl_inet_ntop(ai->ai_family, (const void *)ipaddr6, buf, bufsize); + break; + } #endif - default: - break; + default: + break; } - return NULL; } /* |