Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Oct 2016 05:39:29 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r307119 - stable/10/cddl/contrib/opensolaris/lib/libzfs/common
Message-ID:  <201610120539.u9C5dT6N021431@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Wed Oct 12 05:39:29 2016
New Revision: 307119
URL: https://svnweb.freebsd.org/changeset/base/307119

Log:
  MFC r305203: MFV r302655: 6873 zfs_destroy_snaps_nvl leaks errlist
  
  illumos/illumos-gate@4cde22c29999ffb907ca39d2ebd512812f7e5168
  https://github.com/illumos/illumos-gate/commit/4cde22c29999ffb907ca39d2ebd512812
  f7e5168
  
  https://www.illumos.org/issues/6873
    lzc_destroy_snaps() returns an nvlist in errlist.
    zfs_destroy_snaps_nvl() should nvlist_free() it before returning.
  
  Reviewed by: Matthew Ahrens <mahrens@delphix.com>
  Reviewed by: Paul Dagnelie <pcd@delphix.com>
  Approved by: Dan McDonald <danmcd@omniti.com>
  Author: Chris Williamson <chris.williamson@delphix.com>

Modified:
  stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Wed Oct 12 05:38:44 2016	(r307118)
+++ stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Wed Oct 12 05:39:29 2016	(r307119)
@@ -3449,12 +3449,14 @@ int
 zfs_destroy_snaps_nvl(libzfs_handle_t *hdl, nvlist_t *snaps, boolean_t defer)
 {
 	int ret;
-	nvlist_t *errlist;
+	nvlist_t *errlist = NULL;
 
 	ret = lzc_destroy_snaps(snaps, defer, &errlist);
 
-	if (ret == 0)
+	if (ret == 0) {
+		nvlist_free(errlist);
 		return (0);
+	}
 
 	if (nvlist_empty(errlist)) {
 		char errbuf[1024];
@@ -3482,6 +3484,7 @@ zfs_destroy_snaps_nvl(libzfs_handle_t *h
 		}
 	}
 
+	nvlist_free(errlist);
 	return (ret);
 }
 



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