summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authormbr <mbr@FreeBSD.org>2003-01-16 16:43:58 +0000
committermbr <mbr@FreeBSD.org>2003-01-16 16:43:58 +0000
commit3262ba2f01ee903f457bb668899d079dc79fa668 (patch)
treef2837b424a866c8ee4dbc1e210f51080bae6b7fb /lib/libc
parent04819fe8194edb61f144b656f41b5893c80c105d (diff)
downloadFreeBSD-src-3262ba2f01ee903f457bb668899d079dc79fa668.zip
FreeBSD-src-3262ba2f01ee903f457bb668899d079dc79fa668.tar.gz
Fix memleak.
Reviewed by: rwatson MFC after: 2 weeks
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/rpc/rpc_generic.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/libc/rpc/rpc_generic.c b/lib/libc/rpc/rpc_generic.c
index 1813920..180b5ee 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;
}
OpenPOWER on IntegriCloud