From 4eb3ec63b06d8dbeef77875db2be12e161515992 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 19 Mar 2024 20:40:57 +0100 Subject: [PATCH] basic/socket-util: use strdup_to() in sockaddr_pretty() The function was written to support ret==NULL, but the only caller always passes ret, and sockaddr_pretty() also requires ret to be set, so that half-implemented code wasn't very useful. --- src/basic/socket-util.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c index 68e6afc67fc..5eb8e4c9885 100644 --- a/src/basic/socket-util.c +++ b/src/basic/socket-util.c @@ -453,6 +453,7 @@ int sockaddr_pretty( assert(sa); assert(salen >= sizeof(sa->sa.sa_family)); + assert(ret); switch (sa->sa.sa_family) { @@ -634,6 +635,7 @@ int socknameinfo_pretty(const struct sockaddr *sa, socklen_t salen, char **ret) assert(sa); assert(salen > sizeof(sa_family_t)); + assert(ret); r = getnameinfo(sa, salen, host, sizeof(host), /* service= */ NULL, /* service_len= */ 0, IDN_FLAGS); if (r != 0) { @@ -647,15 +649,7 @@ int socknameinfo_pretty(const struct sockaddr *sa, socklen_t salen, char **ret) return sockaddr_pretty(sa, salen, /* translate_ipv6= */ true, /* include_port= */ true, ret); } - if (ret) { - char *copy = strdup(host); - if (!copy) - return -ENOMEM; - - *ret = copy; - } - - return 0; + return strdup_to(ret, host); } static const char* const netlink_family_table[] = { -- 2.47.3