Closed Dr-Emann closed 4 years ago
btw: unsquashfs -li
says this when run against bad file:
1 inodes (1 blocks) to write
drwxrwxr-x dremann/dremann 24 2019-08-22 03:32 squashfs-root
drwxrwxr-x dremann/dremann 24 2019-08-22 03:32 squashfs-root/a
Unknown inode type 1 in create_inode_table!
created 0 files
created 1 directories
created 0 symlinks
created 0 devices
created 0 fifos
Thanks a lot! This should be fixed by commit 8b16efb. The underlying problem being that the fuzzer created a filesystem with a directory that contains itself.
I thought it might be something like that. Looks good
Base64 encoded file:
Steps to reproduce:
base64 -d > bad_file <<< "aHNxcwIAAAApDV5dABAAAAEAAAABAAwAywECAAQAAAAgAAAAAAAAAAIBAAAAAAAA+gAAAAAAAAD//////////2MAAAAAAAAApQAAAAAAAADOAAAAAAAAAOgAAAAAAAAAaGkKQIACALQBAAABANQMXl0BAAAAAAAAAAAAAAAAAAAAAwAAAAEA/QEAAAEA1AxeXQIAAAAAAAAAAgAAABgAAAADAAAAFYAAAAAAAAAAAAEAAAAgAAAAAgAAAGEQgGAAAAAAAAAAAwAAAQAAAAC8AAAAAAAAABCAAAAAAAAAAAAgAAAAAAAAANYAAAAAAAAACIDpAwAA6wMAAPAAAAAAAAAA"
rdsquashfs -d bad_file
Gets a segfault. running under gdb shows a bogus stack at the time of segfault. compiling with ASAN says: