svn commit: r293704 - head/lib/libc/rpc

Garrett Cooper ngie at FreeBSD.org
Mon Jan 11 21:56:55 UTC 2016


Author: ngie
Date: Mon Jan 11 21:56:53 2016
New Revision: 293704
URL: https://svnweb.freebsd.org/changeset/base/293704

Log:
  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 at isilon.com>
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/lib/libc/rpc/rpc_soc.c

Modified: head/lib/libc/rpc/rpc_soc.c
==============================================================================
--- head/lib/libc/rpc/rpc_soc.c	Mon Jan 11 21:46:37 2016	(r293703)
+++ head/lib/libc/rpc/rpc_soc.c	Mon Jan 11 21:56:53 2016	(r293704)
@@ -483,7 +483,7 @@ svcunix_create(int sock, u_int sendsize,
 			break;
 	}
 	if (nconf == NULL)
-		return(xprt);
+		goto done;
 
 	if ((sock = __rpc_nconf2fd(nconf)) < 0)
 		goto done;


More information about the svn-src-all mailing list