summaryrefslogtreecommitdiffstats
path: root/lib/libzfs
diff options
context:
space:
mode:
authorGeLiXin <[email protected]>2016-08-02 10:58:42 +0800
committerBrian Behlendorf <[email protected]>2016-08-08 12:24:57 -0700
commit88c4c7a0671afef9016446e0132ba86622929092 (patch)
tree2e7455fae9e3578818e2c696a50cad0461042938 /lib/libzfs
parent4b908d32200b6e5c7b5115322b6c8d25e770daa0 (diff)
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 <[email protected]> Signed-off-by: Tim Chase <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #4919
Diffstat (limited to 'lib/libzfs')
-rw-r--r--lib/libzfs/libzfs_mount.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libzfs/libzfs_mount.c b/lib/libzfs/libzfs_mount.c
index 5e57adab0..dfb748fc5 100644
--- a/lib/libzfs/libzfs_mount.c
+++ b/lib/libzfs/libzfs_mount.c
@@ -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)));
}
/*