Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77906a50 authored by Li Zefan's avatar Li Zefan Committed by Chris Mason
Browse files

Btrfs: copy string correctly in 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: default avatarLi Zefan <lizf@cn.fujitsu.com>
Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent b783e62d
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -1757,11 +1757,10 @@ static noinline int btrfs_search_path_in_tree(struct btrfs_fs_info *info,
		key.objectid = key.offset;
		key.objectid = key.offset;
		key.offset = (u64)-1;
		key.offset = (u64)-1;
		dirid = key.objectid;
		dirid = key.objectid;

	}
	}
	if (ptr < name)
	if (ptr < name)
		goto out;
		goto out;
	memcpy(name, ptr, total_len);
	memmove(name, ptr, total_len);
	name[total_len]='\0';
	name[total_len]='\0';
	ret = 0;
	ret = 0;
out:
out: