diff options
author | wpaul <wpaul@FreeBSD.org> | 1996-03-16 21:25:59 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1996-03-16 21:25:59 +0000 |
commit | d51d5c3ca53d4022fa3bd9f0a938e5cea4169c2a (patch) | |
tree | ead06bf99b092dc1b18f2a136c2e3b468c20cbda /lib/libc/net/ether_addr.c | |
parent | 47ab1071a249efe8a7f69b6dfd4549af49f527de (diff) | |
download | FreeBSD-src-d51d5c3ca53d4022fa3bd9f0a938e5cea4169c2a.zip FreeBSD-src-d51d5c3ca53d4022fa3bd9f0a938e5cea4169c2a.tar.gz |
gethostbynis.c:
- Fix problem described in PR #1079: _gethostbynisaddr() doesn't
work. Make it accept the same arguments as all the other
gethostby*addr() functions and properly convert the supplied IP
address into a text string so that yp_match() can find it in the
hosts.byaddr map.
- Also fix potential memory leak: copy the results of yp_match() to
a static buffer and free the result (yp_match() returns dynamically
allocated memory).
ether_addr.c:
- Since I was in the neighborhood, fix ether_ntohost() and
ether_hostton() so that they don't bogusly for a free(result)
when yp_match() fails.
Diffstat (limited to 'lib/libc/net/ether_addr.c')
-rw-r--r-- | lib/libc/net/ether_addr.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/libc/net/ether_addr.c b/lib/libc/net/ether_addr.c index 711bb7d..934a76b 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.1 1995/04/02 01:31:17 wpaul Exp $ + * $Id: ether_addr.c,v 1.2 1995/08/07 03:42:14 wpaul Exp $ */ @@ -147,7 +147,6 @@ int ether_ntohost(hostname, e) ether_a = ether_ntoa(e); if (yp_match(yp_domain, "ethers.byaddr", ether_a, strlen(ether_a), &result, &resultlen)) { - free(result); continue; } strncpy((char *)&buf, result, resultlen); @@ -197,7 +196,6 @@ int ether_hostton(hostname, e) continue; if (yp_match(yp_domain, "ethers.byname", hostname, strlen(hostname), &result, &resultlen)) { - free(result); continue; } strncpy((char *)&buf, result, resultlen); |