diff options
author | Kris Kennaway <kris@FreeBSD.org> | 2000-03-05 05:30:54 +0000 |
---|---|---|
committer | Kris Kennaway <kris@FreeBSD.org> | 2000-03-05 05:30:54 +0000 |
commit | f8f4645dd1e59d26763e1a7ddf98114db530a8c7 (patch) | |
tree | 18010817b1f6a52842177092bf73672117aae0b5 /net/bing | |
parent | Update to 0.31 (diff) |
This is a setuid root binary. sprintf()s of DNS hostnames into undersized
buffers are bad. Fix this. It should also drop privileges for extra
safety, but doesn't.
Notes
Notes:
svn path=/head/; revision=26554
Diffstat (limited to 'net/bing')
-rw-r--r-- | net/bing/files/patch-aa | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/net/bing/files/patch-aa b/net/bing/files/patch-aa new file mode 100644 index 000000000000..71b0978cd1eb --- /dev/null +++ b/net/bing/files/patch-aa @@ -0,0 +1,19 @@ +--- bing.c.orig Thu Jul 20 16:45:32 1995 ++++ bing.c Sat Mar 4 16:13:05 2000 +@@ -718,13 +718,13 @@ + u_long l; + { + struct hostent *hp; +- static char buf[80]; ++ static char buf[MAXHOSTNAMELEN+19]; + + if ((options & F_NUMERIC) || + !(hp = gethostbyaddr((char *)&l, 4, AF_INET))) +- (void)sprintf(buf, "%s", inet_ntoa(*(struct in_addr *)&l)); ++ (void)snprintf(buf, sizeof(buf), "%s", inet_ntoa(*(struct in_addr *)&l)); + else +- (void)sprintf(buf, "%s (%s)", hp->h_name, ++ (void)snprintf(buf, sizeof(buf), "%s (%s)", hp->h_name, + inet_ntoa(*(struct in_addr *)&l)); + return(buf); + } |