mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 19:19:32 +03:00
Fix: Array bounds read in zprop_print_one_property()
If the loop index i comes to (ZFS_GET_NCOLS - 1), the cbp->cb_columns[i + 1] actually read the data of cbp->cb_colwidths[0], which means the array subscript is above array bounds. Luckily the cbp->cb_colwidths[0] is always 0 and it seems we haven't looped enough times to exceed the array bounds so far, but it's really a secluded risk someday. Signed-off-by: GeLiXin <ge.lixin@zte.com.cn> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #5003
This commit is contained in:
parent
9cc1844a1d
commit
23827a4ca1
3
lib/libzfs/libzfs_util.c
Normal file → Executable file
3
lib/libzfs/libzfs_util.c
Normal file → Executable file
@ -1433,7 +1433,8 @@ zprop_print_one_property(const char *name, zprop_get_cbdata_t *cbp,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cbp->cb_columns[i + 1] == GET_COL_NONE)
|
if (i == (ZFS_GET_NCOLS - 1) ||
|
||||||
|
cbp->cb_columns[i + 1] == GET_COL_NONE)
|
||||||
(void) printf("%s", str);
|
(void) printf("%s", str);
|
||||||
else if (cbp->cb_scripted)
|
else if (cbp->cb_scripted)
|
||||||
(void) printf("%s\t", str);
|
(void) printf("%s\t", str);
|
||||||
|
Loading…
Reference in New Issue
Block a user