aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/rpc/rpc_soc.c
diff options
context:
space:
mode:
authorEnji Cooper <ngie@FreeBSD.org>2016-01-11 21:56:53 +0000
committerEnji Cooper <ngie@FreeBSD.org>2016-01-11 21:56:53 +0000
commitd140ec33c78cf86f083ca60afbabb8740113ec22 (patch)
treed23174df8bfd2e3b4b37c4a022d77a1c7df365ba /lib/libc/rpc/rpc_soc.c
parentcbb261aec7de20bad5d56ed7a2b2670c6f1ce902 (diff)
downloadsrc-d140ec33c78cf86f083ca60afbabb8740113ec22.tar.gz
src-d140ec33c78cf86f083ca60afbabb8740113ec22.zip
Fix theoretical leak of netconfig(3) resources in svcunix_create(..)
In the event that the getconfig(3) call in svcunix_create is partly successful, some of the netconfig(3) resources allocated might be leaked if the call returns NULL as endnetconfig(3) wasn't called explicitly in that case. Ensure that the resources are fully cleaned up by going to the `done` label, which will call endnetconfig(3) for us. MFC after: 1 week Reported by: Coverity Submitted by: Miles Ohlrich <miles.ohlrich@isilon.com> Sponsored by: EMC / Isilon Storage Division
Notes
Notes: svn path=/head/; revision=293704
Diffstat (limited to 'lib/libc/rpc/rpc_soc.c')
-rw-r--r--lib/libc/rpc/rpc_soc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/rpc/rpc_soc.c b/lib/libc/rpc/rpc_soc.c
index 11fc80302a12..64516a9fe806 100644
--- a/lib/libc/rpc/rpc_soc.c
+++ b/lib/libc/rpc/rpc_soc.c
@@ -483,7 +483,7 @@ svcunix_create(int sock, u_int sendsize, u_int recvsize, char *path)
break;
}
if (nconf == NULL)
- return(xprt);
+ goto done;
if ((sock = __rpc_nconf2fd(nconf)) < 0)
goto done;