libzfs_sendrecv: Fix leaked holds nvlist

There is no need to allocate a holds nvlist.  lzc_get_holds does that
for us.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ryan Moeller <freqlabs@FreeBSD.org>
Closes #12967
This commit is contained in:
Ryan Moeller 2021-07-27 13:48:42 +00:00 committed by Brian Behlendorf
parent af2b1fbda6
commit f2b36b2db0
1 changed files with 3 additions and 4 deletions

View File

@ -349,12 +349,11 @@ send_iterate_snap(zfs_handle_t *zhp, void *arg)
fnvlist_add_nvlist(sd->snapprops, snapname, nv); fnvlist_add_nvlist(sd->snapprops, snapname, nv);
fnvlist_free(nv); fnvlist_free(nv);
if (sd->holds) { if (sd->holds) {
nvlist_t *holds = fnvlist_alloc(); nvlist_t *holds;
int err = lzc_get_holds(zhp->zfs_name, &holds); if (lzc_get_holds(zhp->zfs_name, &holds) == 0) {
if (err == 0) {
fnvlist_add_nvlist(sd->snapholds, snapname, holds); fnvlist_add_nvlist(sd->snapholds, snapname, holds);
fnvlist_free(holds);
} }
fnvlist_free(holds);
} }
zfs_close(zhp); zfs_close(zhp);