diff options
author | Steve Dickson <steved@redhat.com> | 2018-09-07 13:27:48 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2018-09-11 11:58:11 -0400 |
commit | 6db7f04805310d44e98ca2c42b756f14529c7d66 (patch) | |
tree | fe0f711b87441203055d855003f1904451b4fe6e | |
parent | 710a713263307485b0b8cc3a3b24b45a0ca60106 (diff) | |
download | ti-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>
-rw-r--r-- | src/rpc_soc.c | 6 |
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); |