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>
This commit is contained in:
@@ -290,7 +290,7 @@ handle_fragments:
|
|||||||
|
|
||||||
check_directory_table:
|
check_directory_table:
|
||||||
/* Sanity check directory_table */
|
/* Sanity check directory_table */
|
||||||
if (msblk->directory_table >= next_table) {
|
if (msblk->directory_table > next_table) {
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
goto failed_mount;
|
goto failed_mount;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user