summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSteve Dickson <steved@redhat.com>2018-09-07 13:27:48 -0400
committerSteve Dickson <steved@redhat.com>2018-09-11 11:58:11 -0400
commit6db7f04805310d44e98ca2c42b756f14529c7d66 (patch)
treefe0f711b87441203055d855003f1904451b4fe6e /src
parent710a713263307485b0b8cc3a3b24b45a0ca60106 (diff)
downloadti-rpc-6db7f04805310d44e98ca2c42b756f14529c7d66.tar.gz
rpc_soc.c: resource_leak
Variable "localhandle" going out of scope leaks the storage it points to. Returning without closing handle "sock" leaks it. Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/rpc_soc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/rpc_soc.c b/src/rpc_soc.c
index 5a6eeb7..59e0882 100644
--- a/src/rpc_soc.c
+++ b/src/rpc_soc.c
@@ -663,8 +663,10 @@ svcunix_create(sock, sendsize, recvsize, path)
strcmp(nconf->nc_protofmly, NC_LOOPBACK) == 0)
break;
}
- if (nconf == NULL)
+ if (nconf == NULL) {
+ endnetconfig(localhandle);
return(xprt);
+ }
if ((sock = __rpc_nconf2fd(nconf)) < 0)
goto done;
@@ -692,6 +694,8 @@ svcunix_create(sock, sendsize, recvsize, path)
}
xprt = (SVCXPRT *)svc_tli_create(sock, nconf, &taddr, sendsize, recvsize);
+ if (xprt == NULL)
+ close(sock);
done:
endnetconfig(localhandle);