diff options
author | Phillip Lougher <phillip@squashfs.org.uk> | 2012-01-02 17:47:14 +0000 |
---|---|---|
committer | Phillip Lougher <phillip@squashfs.org.uk> | 2012-01-02 17:47:14 +0000 |
commit | cc37f75a9ffbbfcb1c3297534f293c8284e3c5a6 (patch) | |
tree | f7cb651315e55e96245ba0495848fd07369a2faf /fs/squashfs/super.c | |
parent | d7fbd893388d9e86d29b7cfbd5457bcf03496fbf (diff) | |
download | op-kernel-dev-cc37f75a9ffbbfcb1c3297534f293c8284e3c5a6.zip op-kernel-dev-cc37f75a9ffbbfcb1c3297534f293c8284e3c5a6.tar.gz |
Squashfs: fix mount time sanity check for corrupted superblock
A Squashfs filesystem containing nothing but an empty directory,
although unusual and ultimately pointless, is still valid.
The directory_table >= next_table sanity check rejects these
filesystems as invalid because the directory_table is empty and
equal to next_table.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
Diffstat (limited to 'fs/squashfs/super.c')
-rw-r--r-- | fs/squashfs/super.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c index 2da1715..4619247 100644 --- a/fs/squashfs/super.c +++ b/fs/squashfs/super.c @@ -290,7 +290,7 @@ handle_fragments: check_directory_table: /* Sanity check directory_table */ - if (msblk->directory_table >= next_table) { + if (msblk->directory_table > next_table) { err = -EINVAL; goto failed_mount; } |