diff options
author | Enji Cooper <ngie@FreeBSD.org> | 2016-01-11 21:56:53 +0000 |
---|---|---|
committer | Enji Cooper <ngie@FreeBSD.org> | 2016-01-11 21:56:53 +0000 |
commit | d140ec33c78cf86f083ca60afbabb8740113ec22 (patch) | |
tree | d23174df8bfd2e3b4b37c4a022d77a1c7df365ba /lib/libc/rpc/rpc_soc.c | |
parent | cbb261aec7de20bad5d56ed7a2b2670c6f1ce902 (diff) | |
download | src-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.c | 2 |
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; |