diff options
Diffstat (limited to 'term-utils/agetty.c')
-rw-r--r-- | term-utils/agetty.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/term-utils/agetty.c b/term-utils/agetty.c index 3c6307a21..7ac12f201 100644 --- a/term-utils/agetty.c +++ b/term-utils/agetty.c @@ -1781,7 +1781,6 @@ static void output_ip(sa_family_t family) if (host && getaddrinfo(host, NULL, &hints, &info) == 0 && info) { void *addr = NULL; - char buff[INET6_ADDRSTRLEN + 1]; switch (info->ai_family) { case AF_INET: @@ -1791,8 +1790,12 @@ static void output_ip(sa_family_t family) addr = &((struct sockaddr_in6 *) info->ai_addr)->sin6_addr; break; } - inet_ntop(info->ai_family, (void *) addr, buff, sizeof(buff)); - printf("%s", buff); + if (addr) { + char buff[INET6_ADDRSTRLEN + 1]; + + inet_ntop(info->ai_family, (void *) addr, buff, sizeof(buff)); + printf("%s", buff); + } freeaddrinfo(info); } |