Fix call zfs_get_name() with invalid parameter

zfs_get_name() expects a parameter of type zfs_handle_t *zhp , but
gets an invalid parameter type of zfs_handle_t **zhp actually in
libzfs_dataset_cmp(), which may trigger a coredump if called.

libzfs_dataset_cmp() working normally so far, just because all the
callers only give datasets of type ZFS_TYPE_FILESYSTEM to it, we
compared their mountpoint and return, luckily.

Signed-off-by: GeLiXin <ge.lixin@zte.com.cn>
Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #4919
This commit is contained in:
GeLiXin 2016-08-02 10:58:42 +08:00 committed by Brian Behlendorf
parent 4b908d3220
commit 88c4c7a067

View File

@ -1094,7 +1094,7 @@ libzfs_dataset_cmp(const void *a, const void *b)
if (gotb)
return (1);
return (strcmp(zfs_get_name(a), zfs_get_name(b)));
return (strcmp(zfs_get_name(*za), zfs_get_name(*zb)));
}
/*