libzfs: mount: don't leak mnt_param_t if mnt_func fails

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #12968
This commit is contained in:
наб 2022-01-13 00:50:15 +01:00 committed by Brian Behlendorf
parent 61b5b27853
commit 3c617c7921
1 changed files with 3 additions and 1 deletions

View File

@ -1352,7 +1352,7 @@ zfs_mount_task(void *arg)
sizeof (mountpoint), NULL, NULL, 0, B_FALSE) == 0); sizeof (mountpoint), NULL, NULL, 0, B_FALSE) == 0);
if (mp->mnt_func(handles[idx], mp->mnt_data) != 0) if (mp->mnt_func(handles[idx], mp->mnt_data) != 0)
return; goto out;
/* /*
* We dispatch tasks to mount filesystems with mountpoints underneath * We dispatch tasks to mount filesystems with mountpoints underneath
@ -1373,6 +1373,8 @@ zfs_mount_task(void *arg)
zfs_dispatch_mount(mp->mnt_hdl, handles, num_handles, i, zfs_dispatch_mount(mp->mnt_hdl, handles, num_handles, i,
mp->mnt_func, mp->mnt_data, mp->mnt_tp); mp->mnt_func, mp->mnt_data, mp->mnt_tp);
} }
out:
free(mp); free(mp);
} }