btrfs-util: use memdup_suffix0() instead of strndup() at one more place
The structure we copy this out is a large (unaligned) binary blob, hence let's better use the memdup_suffix0() so that gcc doesn't make assumption about the source being a valid string.
This commit is contained in:
@@ -970,7 +970,7 @@ static int subvol_remove_children(int fd, const char *subvolume, uint64_t subvol
|
||||
|
||||
ref = BTRFS_IOCTL_SEARCH_HEADER_BODY(sh);
|
||||
|
||||
p = strndup((char*) ref + sizeof(struct btrfs_root_ref), le64toh(ref->name_len));
|
||||
p = memdup_suffix0((char*) ref + sizeof(struct btrfs_root_ref), le64toh(ref->name_len));
|
||||
if (!p)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -1345,7 +1345,7 @@ static int subvol_snapshot_children(
|
||||
continue;
|
||||
|
||||
ref = BTRFS_IOCTL_SEARCH_HEADER_BODY(sh);
|
||||
p = strndup((char*) ref + sizeof(struct btrfs_root_ref), le64toh(ref->name_len));
|
||||
p = memdup_suffix0((char*) ref + sizeof(struct btrfs_root_ref), le64toh(ref->name_len));
|
||||
if (!p)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user