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.g...@gmx.de>
---
 fs/squashfs/sqfs.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/squashfs/sqfs.c b/fs/squashfs/sqfs.c
index dca13bd1f1..29805c3c6f 100644
--- a/fs/squashfs/sqfs.c
+++ b/fs/squashfs/sqfs.c
@@ -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);
--
2.29.2

Reply via email to