From owner-svn-src-user@freebsd.org Tue Dec 22 23:11:50 2015 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C36D7A4F4B4 for ; Tue, 22 Dec 2015 23:11:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 937D11DD6; Tue, 22 Dec 2015 23:11:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tBMNBnDG091104; Tue, 22 Dec 2015 23:11:49 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tBMNBn4Z091103; Tue, 22 Dec 2015 23:11:49 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201512222311.tBMNBn4Z091103@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Tue, 22 Dec 2015 23:11:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r292636 - user/ngie/stable-10-libnv/lib/libnv X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Dec 2015 23:11:50 -0000 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 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: