squashfs: fix name reading in squashfs_xattr_get
Only read potentially matching names into the target buffer, all obviously non matching names don't need to be read into the target buffer. Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
This commit is contained in:
Родитель
f6db25a876
Коммит
5c80f5aa40
|
@ -145,8 +145,12 @@ static int squashfs_xattr_get(struct inode *inode, int name_index,
|
|||
type = le16_to_cpu(entry.type);
|
||||
prefix = type & SQUASHFS_XATTR_PREFIX_MASK;
|
||||
|
||||
err = squashfs_read_metadata(sb, target, &start, &offset,
|
||||
name_size);
|
||||
if (prefix == name_index && name_size == name_len)
|
||||
err = squashfs_read_metadata(sb, target, &start,
|
||||
&offset, name_size);
|
||||
else
|
||||
err = squashfs_read_metadata(sb, NULL, &start,
|
||||
&offset, name_size);
|
||||
if (err < 0)
|
||||
goto failed;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче