diff options
author | Martin Blapp <mbr@FreeBSD.org> | 2003-01-16 16:56:22 +0000 |
---|---|---|
committer | Martin Blapp <mbr@FreeBSD.org> | 2003-01-16 16:56:22 +0000 |
commit | 47227ef0ef663b7abb81ab5a60a450da9a93d24b (patch) | |
tree | 4a4112b2b683550fef9ba580f433d12767fe80ee | |
parent | aed3a608332e119c40260aa89ed02fb35a632cbe (diff) |
MFC: Fix memleak.release/5.0.0
Reviewed by: rwatson
Approved by: re (scottl)
Notes
Notes:
svn path=/releng/5.0/; revision=109387
svn path=/release/5.0.0/; revision=109388; tag=release/5.0.0
-rw-r--r-- | lib/libc/rpc/rpc_generic.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/libc/rpc/rpc_generic.c b/lib/libc/rpc/rpc_generic.c index 181392035672..180b5ee7eeb4 100644 --- a/lib/libc/rpc/rpc_generic.c +++ b/lib/libc/rpc/rpc_generic.c @@ -555,21 +555,27 @@ int __rpc_sockinfo2netid(struct __rpc_sockinfo *sip, const char **netid) { int i; + struct netconfig *nconf; + + nconf = getnetconfigent("local"); for (i = 0; i < (sizeof na_cvt) / (sizeof (struct netid_af)); i++) { if (na_cvt[i].af == sip->si_af && na_cvt[i].protocol == sip->si_proto) { - if (strcmp(na_cvt[i].netid, "local") == 0 && - getnetconfigent("local") == NULL) { + if (strcmp(na_cvt[i].netid, "local") == 0 && nconf == NULL) { if (netid) *netid = "unix"; } else { if (netid) *netid = na_cvt[i].netid; } + if (nconf != NULL) + freenetconfigent(nconf); return 1; } } + if (nconf != NULL) + freenetconfigent(nconf); return 0; } |