summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1996-12-27 18:21:07 +0000
committerwpaul <wpaul@FreeBSD.org>1996-12-27 18:21:07 +0000
commit7187ede0636788711d157314ae5b131815515a80 (patch)
tree775c627300a0c60282f7459ec5e82dbc339a1dd7 /lib/libc
parent3d869b9c34726691683c118cd61329ee5a519a69 (diff)
downloadFreeBSD-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.c10
-rw-r--r--lib/libc/net/gethostbydns.c3
-rw-r--r--lib/libc/net/gethostbynis.c6
-rw-r--r--lib/libc/net/getnetbynis.c7
-rw-r--r--lib/libc/net/getservent.c6
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))
OpenPOWER on IntegriCloud