diff options
| author | Phillip Lougher <phillip@squashfs.org.uk> | 2013-09-03 04:02:53 +0100 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-04-11 11:00:15 +0200 |
| commit | 4a0701698d0128b64a8e149a516d034c232520fb (patch) | |
| tree | 40e2d4f7fce8327e3264f7716a5b2675f49586c3 /fs/squashfs/namei.c | |
| parent | 9a0df35da1db4f1dadd2347332dd2e894b21a0b6 (diff) | |
Squashfs: fix corruption check in get_dir_index_using_name()
Patch "Squashfs: sanity check information from disk" from
Dan Carpenter adds a missing check for corruption in the
"size" field while reading the directory index from disk.
It, however, sets err to -EINVAL, this value is not used later, and
so setting it is completely redundant. So remove it.
Errors in reading the index are deliberately non-fatal. If we
get an error in reading the index we just return the part of the
index we have managed to read - the index isn't essential,
just quicker.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
Change-Id: I846f6cccb98ff0f5d576983214ff964507f4376a
Diffstat (limited to 'fs/squashfs/namei.c')
| -rw-r--r-- | fs/squashfs/namei.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/squashfs/namei.c b/fs/squashfs/namei.c index f866d42a8..342a5aa5a 100644 --- a/fs/squashfs/namei.c +++ b/fs/squashfs/namei.c @@ -104,10 +104,8 @@ static int get_dir_index_using_name(struct super_block *sb, size = le32_to_cpu(index->size) + 1; - if (size > SQUASHFS_NAME_LEN) { - err = -EINVAL; + if (size > SQUASHFS_NAME_LEN) break; - } err = squashfs_read_metadata(sb, index->name, &index_start, &index_offset, size); |
