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

Commit 5c80f5aa authored by Phillip Lougher's avatar Phillip Lougher
Browse files

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: default avatarPhillip Lougher <phillip@lougher.demon.co.uk>
parent f6db25a8
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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;