mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-27 03:19:35 +03:00
zfs_get_temporary_prop() should not pass NULL to strcpy()
`dsl_dir_activity_in_progress()` can call `zfs_get_temporary_prop()` with the forth value set to NULL, which will pass NULL to `strcpy()` when there is a match Clang's static analyzer caught this with the help of CodeChecker for Cross Translation Unit analysis. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Brian Atkinson <batkinson@lanl.gov> Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Closes #14456
This commit is contained in:
parent
14872aaa4f
commit
3a7d2a0ce0
@ -230,6 +230,7 @@ zfs_get_temporary_prop(dsl_dataset_t *ds, zfs_prop_t zfs_prop, uint64_t *val,
|
|||||||
|
|
||||||
vfs_unbusy(vfsp);
|
vfs_unbusy(vfsp);
|
||||||
if (tmp != *val) {
|
if (tmp != *val) {
|
||||||
|
if (setpoint)
|
||||||
(void) strcpy(setpoint, "temporary");
|
(void) strcpy(setpoint, "temporary");
|
||||||
*val = tmp;
|
*val = tmp;
|
||||||
}
|
}
|
||||||
|
@ -608,6 +608,7 @@ zfs_get_temporary_prop(dsl_dataset_t *ds, zfs_prop_t zfs_prop, uint64_t *val,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tmp != *val) {
|
if (tmp != *val) {
|
||||||
|
if (setpoint)
|
||||||
(void) strcpy(setpoint, "temporary");
|
(void) strcpy(setpoint, "temporary");
|
||||||
*val = tmp;
|
*val = tmp;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user