summaryrefslogtreecommitdiffstats
path: root/libexec/telnetd
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1999-04-07 08:39:54 +0000
committerbrian <brian@FreeBSD.org>1999-04-07 08:39:54 +0000
commit68437b1a0e8b58742a74cd819278c2cd5f520bb3 (patch)
treea913122eaac8a04ca6bbe4e4ea7194d89ccad73b /libexec/telnetd
parentc6c6c7de65eae103002ebb9bee8881e1e2e903df (diff)
downloadFreeBSD-src-68437b1a0e8b58742a74cd819278c2cd5f520bb3.zip
FreeBSD-src-68437b1a0e8b58742a74cd819278c2cd5f520bb3.tar.gz
Really fix -u....
Diffstat (limited to 'libexec/telnetd')
-rw-r--r--libexec/telnetd/telnetd.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libexec/telnetd/telnetd.c b/libexec/telnetd/telnetd.c
index fd4b6da..d8019ed 100644
--- a/libexec/telnetd/telnetd.c
+++ b/libexec/telnetd/telnetd.c
@@ -817,11 +817,15 @@ doit(who)
#endif /* _SC_CRAY_SECURE_SYS */
/* get name of connected client */
- if (realhostname(remote_hostname, utmp_len,
+ if (realhostname(remote_hostname, sizeof(remote_hostname) - 1,
&who->sin_addr) == HOSTNAME_INVALIDADDR && registerd_host_only)
fatal(net, "Couldn't resolve your address into a host name.\r\n\
Please contact your net administrator");
- remote_hostname[utmp_len] = '\0';
+ remote_hostname[sizeof(remote_hostname) - 1] = '\0';
+
+ if (!isdigit(remote_hostname[0]) && strlen(remote_hostname) > utmp_len)
+ strncpy(remote_hostname, inet_ntoa(who->sin_addr),
+ sizeof(remote_hostname) - 1);
(void) gethostname(host_name, sizeof(host_name) - 1);
host_name[sizeof(host_name) - 1] = '\0';
OpenPOWER on IntegriCloud