fs/squashfs: NULL dereference in sqfs_closedir()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Mon, 1 Feb 2021 02:28:48 +0000 (03:28 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 24 Feb 2021 21:51:48 +0000 (16:51 -0500)
sqfs_opendir() called in sqfs_size(), sqfs_read(), sqfs_exists() may fail
leading to sqfs_closedir(NULL) being called. Do not dereference NULL.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
fs/squashfs/sqfs.c

index dca13bd..29805c3 100644 (file)
@@ -1716,6 +1716,9 @@ void sqfs_closedir(struct fs_dir_stream *dirs)
 {
        struct squashfs_dir_stream *sqfs_dirs;
 
+       if (!dirs)
+               return;
+
        sqfs_dirs = (struct squashfs_dir_stream *)dirs;
        free(sqfs_dirs->inode_table);
        free(sqfs_dirs->dir_table);