[git commit] netstat: produce numeric-ip output for non-resolved names

Denys Vlasenko vda.linux at googlemail.com
Tue Mar 27 21:28:53 UTC 2018


commit: https://git.busybox.net/busybox/commit/?id=98592db3231caa905e6d54129c621f3e8e9bbaa3
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

If we don't ask for numerical output, and the symbolic look-up failed
we used to get "(null)", but the numeric output would be better.

function                                             old     new   delta
ip_port_str                                          109     121     +12

Signed-off-by: Mark Marshall <mark.marshall at omicronenergy.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/netstat.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/networking/netstat.c b/networking/netstat.c
index 33281e333..f6bcd44ba 100644
--- a/networking/netstat.c
+++ b/networking/netstat.c
@@ -397,8 +397,11 @@ static char *ip_port_str(struct sockaddr *addr, int port, const char *proto, int
 	/* Code which used "*" for INADDR_ANY is removed: it's ambiguous
 	 * in IPv6, while "0.0.0.0" is not. */
 
-	host = numeric ? xmalloc_sockaddr2dotted_noport(addr)
-	               : xmalloc_sockaddr2host_noport(addr);
+	host = NULL;
+	if (!numeric)
+		host = xmalloc_sockaddr2host_noport(addr);
+	if (!host)
+		host = xmalloc_sockaddr2dotted_noport(addr);
 
 	host_port = xasprintf("%s:%s", host, get_sname(htons(port), proto, numeric));
 	free(host);


More information about the busybox-cvs mailing list