diff options
Diffstat (limited to 'lib/libc/net/ether_addr.c')
| -rw-r--r-- | lib/libc/net/ether_addr.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/libc/net/ether_addr.c b/lib/libc/net/ether_addr.c index a6f77ab51a6e..f2caeeadf324 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  | 
