Author: mav
Date: Thu Sep  1 14:47:43 2016
New Revision: 305203
URL: https://svnweb.freebsd.org/changeset/base/305203

Log:
  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 <mahr...@delphix.com>
  Reviewed by: Paul Dagnelie <p...@delphix.com>
  Approved by: Dan McDonald <dan...@omniti.com>
  Author: Chris Williamson <chris.william...@delphix.com>

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

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c    Thu Sep 
 1 14:46:33 2016        (r305202)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c    Thu Sep 
 1 14:47:43 2016        (r305203)
@@ -3466,12 +3466,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];
@@ -3499,6 +3501,7 @@ zfs_destroy_snaps_nvl(libzfs_handle_t *h
                }
        }
 
+       nvlist_free(errlist);
        return (ret);
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to