diff options
author | GeLiXin <[email protected]> | 2016-08-02 10:58:42 +0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-08-08 12:24:57 -0700 |
commit | 88c4c7a0671afef9016446e0132ba86622929092 (patch) | |
tree | 2e7455fae9e3578818e2c696a50cad0461042938 /lib/libzfs | |
parent | 4b908d32200b6e5c7b5115322b6c8d25e770daa0 (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.c | 2 |
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))); } /* |