Btrfs: copy string correctly in BTRFS_IOC_INO_LOOKUP ioctl
PATCH 1/1 Btrfs: copy string correctly in BTRFS_IOC_INO_LOOKUP ioctl
Memory areas [ptr, ptr+total_len] and [name, name+total_len] may overlap, so it's wrong to use memcpy().
Signed-off-by Li Zefan <[email protected]>
--- fs/btrfs/ioctl.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
fs/btrfs/ioctl.c +1 -2
@@ -1753,11 +1753,10 @@ static noinline int btrfs_search_path_in_tree(struct btrfs_fs_info *info, key.objectid = key.offset; key.offset = (u64)-1 ; dirid = key.objectid; - }if (ptr < name) goto out; -memcpy (name, ptr, total_len); +memmove (name, ptr, total_len); name[total_len]='\0' ; ret =0 ; out:
-- 1.7.3.1