diff options
Diffstat (limited to 'src')
-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); |