Properly initialize and free destroydata
authorMartin Matuska <martin@matuska.org>
Tue, 21 Aug 2012 21:42:00 +0000 (23:42 +0200)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 23 Aug 2012 16:42:21 +0000 (09:42 -0700)
This regression was accidentally introduced by commit
330d06f90d143b41b276796526a66a1c1fff046d due to ZoL
specific code.  The fix is to simply ensure the passed
nvlist is initialized and freed.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #876

lib/libzfs/libzfs_dataset.c

index 476598c..2d795d3 100644 (file)
@@ -3875,7 +3875,9 @@ zfs_rename(zfs_handle_t *zhp, const char *target, boolean_t recursive)
                dd.snapname = delim + 1;
 
                /* We remove any zvol links prior to renaming them */
+               verify(nvlist_alloc(&dd.nvl, NV_UNIQUE_NAME, 0) == 0);
                ret = zfs_iter_filesystems(zhrp, zfs_check_snap_cb, &dd);
+               nvlist_free(dd.nvl);
                if (ret) {
                        goto error;
                }