diff options
author | wpaul <wpaul@FreeBSD.org> | 1996-12-27 18:21:07 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1996-12-27 18:21:07 +0000 |
commit | 7187ede0636788711d157314ae5b131815515a80 (patch) | |
tree | 775c627300a0c60282f7459ec5e82dbc339a1dd7 /lib/libc | |
parent | 3d869b9c34726691683c118cd61329ee5a519a69 (diff) | |
download | FreeBSD-src-7187ede0636788711d157314ae5b131815515a80.zip FreeBSD-src-7187ede0636788711d157314ae5b131815515a80.tar.gz |
Small yet significant tweaks/cleanups:
- getservent:
o put _yp_check() proto under #ifdef YP where it belongs
o local YP buffers should be YPMAXRECORD + 2 bytes long and should
be NUL terminated after copying
- gethostbynis:
o local YP buffer should be YPMAXRECORD + 2 bytes long
- getnetbynis:
o local YP buffer should be YPMAXRECORD + 2 bytes long and should
be NUL terminated after copying
- ether_addr:
o local YP buffers should be YPMAXRECORD + 2 bytes long and should
be NUL terminated after copying (in this case it's BUFSIZ + 2 bytes,
but it happens that BUFSIZ == YPMAXRECORD.
- gethostbydns:
o nuke stray 'return(NULL)' in __dns_getanswer() (harmless but looks silly)
These are 2.2 candidates. I will wait a few days to make sure these don't
break anything and then, if there are no objections, move them to the 2.2
branch.
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/net/ether_addr.c | 10 | ||||
-rw-r--r-- | lib/libc/net/gethostbydns.c | 3 | ||||
-rw-r--r-- | lib/libc/net/gethostbynis.c | 6 | ||||
-rw-r--r-- | lib/libc/net/getnetbynis.c | 7 | ||||
-rw-r--r-- | lib/libc/net/getservent.c | 6 |
5 files changed, 17 insertions, 15 deletions
diff --git a/lib/libc/net/ether_addr.c b/lib/libc/net/ether_addr.c index a6f77ab..f2caeea 100644 --- a/lib/libc/net/ether_addr.c +++ b/lib/libc/net/ether_addr.c @@ -35,7 +35,7 @@ * Center for Telecommunications Research * Columbia University, New York City * - * $Id: ether_addr.c,v 1.5 1996/12/05 18:46:19 jkh Exp $ + * $Id: ether_addr.c,v 1.6 1996/12/10 17:19:09 wollman Exp $ */ @@ -132,7 +132,7 @@ int ether_ntohost(hostname, e) struct ether_addr *e; { FILE *fp; - char buf[BUFSIZ]; + char buf[BUFSIZ + 2]; struct ether_addr local_ether; char local_host[MAXHOSTNAMELEN]; #ifdef YP @@ -157,7 +157,8 @@ int ether_ntohost(hostname, e) continue; } strncpy(buf, result, resultlen); - free(result); + buf[resultlen] = '\0'; + free(result); } #endif if (!ether_line(buf, &local_ether, local_host)) { @@ -183,7 +184,7 @@ int ether_hostton(hostname, e) struct ether_addr *e; { FILE *fp; - char buf[BUFSIZ]; + char buf[BUFSIZ + 2]; struct ether_addr local_ether; char local_host[MAXHOSTNAMELEN]; #ifdef YP @@ -206,6 +207,7 @@ int ether_hostton(hostname, e) continue; } strncpy(buf, result, resultlen); + buf[resultlen] = '\0'; free(result); } #endif diff --git a/lib/libc/net/gethostbydns.c b/lib/libc/net/gethostbydns.c index 415bc49..2808c95 100644 --- a/lib/libc/net/gethostbydns.c +++ b/lib/libc/net/gethostbydns.c @@ -53,7 +53,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: gethostbydns.c,v 1.13 1996/12/22 22:05:43 wpaul Exp $"; +static char rcsid[] = "$Id: gethostbydns.c,v 1.14 1996/12/24 02:10:24 wpaul Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> @@ -414,7 +414,6 @@ __dns_getanswer(answer, anslen, qname, qtype) host.h_addrtype = AF_INET; host.h_length = INADDRSZ; break; - return(NULL); } return(gethostanswer((const querybuf *)answer, anslen, qname, qtype)); diff --git a/lib/libc/net/gethostbynis.c b/lib/libc/net/gethostbynis.c index c1f15e6..fa82d50 100644 --- a/lib/libc/net/gethostbynis.c +++ b/lib/libc/net/gethostbynis.c @@ -24,8 +24,8 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id: gethostbynis.c,v 1.4 1996/08/29 20:07:54 peter Exp $"; -static char rcsid[] = "$Id: gethostbynis.c,v 1.4 1996/08/29 20:07:54 peter Exp $"; +static char sccsid[] = "@(#)$Id: gethostbynis.c,v 1.5 1996/12/24 17:01:49 wpaul Exp $"; +static char rcsid[] = "$Id: gethostbynis.c,v 1.5 1996/12/24 17:01:49 wpaul Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> @@ -65,7 +65,7 @@ _gethostbynis(name, map, af) int resultlen; static struct hostent h; static char *domain = (char *)NULL; - static char ypbuf[YPMAXRECORD]; + static char ypbuf[YPMAXRECORD + 2]; switch(af) { case AF_INET: diff --git a/lib/libc/net/getnetbynis.c b/lib/libc/net/getnetbynis.c index 44f2066..55e3600 100644 --- a/lib/libc/net/getnetbynis.c +++ b/lib/libc/net/getnetbynis.c @@ -24,8 +24,8 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id: getnetbynis.c,v 1.6 1996/08/29 20:08:01 peter Exp $"; -static char rcsid[] = "$Id: getnetbynis.c,v 1.6 1996/08/29 20:08:01 peter Exp $"; +static char sccsid[] = "@(#)$Id: getnetbynis.c,v 1.7 1996/12/06 00:12:31 jkh Exp $"; +static char rcsid[] = "$Id: getnetbynis.c,v 1.7 1996/12/06 00:12:31 jkh Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> @@ -64,7 +64,7 @@ _getnetbynis(name, map, af) int resultlen; static struct netent h; static char *domain = (char *)NULL; - static char ypbuf[YPMAXRECORD]; + static char ypbuf[YPMAXRECORD + 2]; switch(af) { case AF_INET: @@ -83,6 +83,7 @@ _getnetbynis(name, map, af) return (NULL); bcopy((char *)result, (char *)&ypbuf, resultlen); + ypbuf[resultlen] = '\0'; free(result); result = (char *)&ypbuf; diff --git a/lib/libc/net/getservent.c b/lib/libc/net/getservent.c index 78d6df1..cd4449f 100644 --- a/lib/libc/net/getservent.c +++ b/lib/libc/net/getservent.c @@ -46,9 +46,9 @@ static char sccsid[] = "@(#)getservent.c 8.1 (Berkeley) 6/4/93"; #include <rpcsvc/yp_prot.h> #include <rpcsvc/ypclnt.h> static int serv_stepping_yp = 0; +extern int _yp_check __P(( char ** )); #endif -extern int _yp_check __P(( char ** )); #define MAXALIASES 35 @@ -70,7 +70,7 @@ _getservbyport_yp(line) { char *result; int resultlen; - char buf[YPMAXRECORD]; + char buf[YPMAXRECORD + 2]; int rv; snprintf(buf, sizeof(buf), "%d/%s", ntohs(___getservbyport_yp), @@ -116,7 +116,7 @@ _getservbyname_yp(line) { char *result; int resultlen; - char buf[YPMAXRECORD]; + char buf[YPMAXRECORD + 2]; if(!yp_domain) { if(yp_get_default_domain(&yp_domain)) |