Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Dec 2015 23:11:49 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r292636 - user/ngie/stable-10-libnv/lib/libnv
Message-ID:  <201512222311.tBMNBn4Z091103@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Tue Dec 22 23:11:49 2015
New Revision: 292636
URL: https://svnweb.freebsd.org/changeset/base/292636

Log:
  MFC r271026,r271027,r271028:
  
  r271026 (by pjd):
  
  Fix descriptors leak in case of nvlist_xunpack() failure.
  
  Submitted by:	Mariusz Zaborski <oshogbo@FreeBSD.org>
  
  r271027 (by pjd):
  
  Declare i.
  
  Reported by:	sbruno
  
  r271028 (by pjd):
  
  Use better type for i.

Modified:
  user/ngie/stable-10-libnv/lib/libnv/nvlist.c
Directory Properties:
  user/ngie/stable-10-libnv/   (props changed)

Modified: user/ngie/stable-10-libnv/lib/libnv/nvlist.c
==============================================================================
--- user/ngie/stable-10-libnv/lib/libnv/nvlist.c	Tue Dec 22 23:10:18 2015	(r292635)
+++ user/ngie/stable-10-libnv/lib/libnv/nvlist.c	Tue Dec 22 23:11:49 2015	(r292636)
@@ -892,7 +892,7 @@ nvlist_recv(int sock)
 	struct nvlist_header nvlhdr;
 	nvlist_t *nvl, *ret;
 	unsigned char *buf;
-	size_t nfds, size;
+	size_t nfds, size, i;
 	int serrno, *fds;
 
 	if (buf_recv(sock, &nvlhdr, sizeof(nvlhdr)) == -1)
@@ -925,8 +925,11 @@ nvlist_recv(int sock)
 	}
 
 	nvl = nvlist_xunpack(buf, size, fds, nfds);
-	if (nvl == NULL)
+	if (nvl == NULL) {
+		for (i = 0; i < nfds; i++)
+			close(fds[i]);
 		goto out;
+	}
 
 	ret = nvl;
 out:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201512222311.tBMNBn4Z091103>