svn commit: r302655 - vendor/illumos/dist/lib/libzfs/common
Andriy Gapon
avg at FreeBSD.org
Tue Jul 12 11:54:27 UTC 2016
Author: avg
Date: Tue Jul 12 11:54:25 2016
New Revision: 302655
URL: https://svnweb.freebsd.org/changeset/base/302655
Log:
6873 zfs_destroy_snaps_nvl leaks errlist
illumos/illumos-gate at 4cde22c29999ffb907ca39d2ebd512812f7e5168
https://github.com/illumos/illumos-gate/commit/4cde22c29999ffb907ca39d2ebd512812f7e5168
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 at delphix.com>
Reviewed by: Paul Dagnelie <pcd at delphix.com>
Approved by: Dan McDonald <danmcd at omniti.com>
Author: Chris Williamson <chris.williamson at delphix.com>
Modified:
vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c
Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Tue Jul 12 11:52:33 2016 (r302654)
+++ vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Tue Jul 12 11:54:25 2016 (r302655)
@@ -3405,12 +3405,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];
@@ -3438,6 +3440,7 @@ zfs_destroy_snaps_nvl(libzfs_handle_t *h
}
}
+ nvlist_free(errlist);
return (ret);
}
More information about the svn-src-all
mailing list