diff options
author | Damian Szuberski <[email protected]> | 2022-11-09 04:16:01 +1000 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2022-11-08 10:16:21 -0800 |
commit | 0f4ee295ba94803e5833f57481cfdbee5d1160d4 (patch) | |
tree | 59a97216406039922425900cf6b6c0f1d069ba64 /module/zfs/dsl_prop.c | |
parent | 8c0684d326b5eaf37842a9fc6c98edbb8e1fdd5f (diff) |
dsl_prop_known_index(): check for invalid prop
Resolve UBSAN array-index-out-of-bounds error in zprop_desc_t.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: szubersk <[email protected]>
Closes #14142
Closes #14147
Diffstat (limited to 'module/zfs/dsl_prop.c')
-rw-r--r-- | module/zfs/dsl_prop.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/module/zfs/dsl_prop.c b/module/zfs/dsl_prop.c index d1c3ff543..6cba8bd20 100644 --- a/module/zfs/dsl_prop.c +++ b/module/zfs/dsl_prop.c @@ -75,7 +75,8 @@ static int dsl_prop_known_index(zfs_prop_t prop, uint64_t value) { const char *str = NULL; - if (zfs_prop_get_type(prop) == PROP_TYPE_INDEX) + if (prop != ZPROP_CONT && prop != ZPROP_INVAL && + zfs_prop_get_type(prop) == PROP_TYPE_INDEX) return (!zfs_prop_index_to_string(prop, value, &str)); return (-1); |