diff options
| author | Phillip Lougher <phillip@squashfs.org.uk> | 2012-01-02 12:47:14 -0500 |
|---|---|---|
| committer | Phillip Lougher <phillip@squashfs.org.uk> | 2012-01-02 12:47:14 -0500 |
| commit | cc37f75a9ffbbfcb1c3297534f293c8284e3c5a6 (patch) | |
| tree | f7cb651315e55e96245ba0495848fd07369a2faf | |
| parent | d7fbd893388d9e86d29b7cfbd5457bcf03496fbf (diff) | |
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>
| -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 2da1715452ac..4619247d74ed 100644 --- a/fs/squashfs/super.c +++ b/fs/squashfs/super.c | |||
| @@ -290,7 +290,7 @@ handle_fragments: | |||
| 290 | 290 | ||
| 291 | check_directory_table: | 291 | check_directory_table: |
| 292 | /* Sanity check directory_table */ | 292 | /* Sanity check directory_table */ |
| 293 | if (msblk->directory_table >= next_table) { | 293 | if (msblk->directory_table > next_table) { |
| 294 | err = -EINVAL; | 294 | err = -EINVAL; |
| 295 | goto failed_mount; | 295 | goto failed_mount; |
| 296 | } | 296 | } |
