sqfs_closedir() should be called to free memory allocated by
sqfs_opendir()

Signed-off-by: Richard Genoud <richard.gen...@posteo.net>
---
 fs/squashfs/sqfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/squashfs/sqfs.c b/fs/squashfs/sqfs.c
index 1ac07625889..a9e803cbac2 100644
--- a/fs/squashfs/sqfs.c
+++ b/fs/squashfs/sqfs.c
@@ -1341,7 +1341,6 @@ int sqfs_read(const char *filename, void *buf, loff_t 
offset, loff_t len,
        if (ret) {
                printf("File not found.\n");
                *actread = 0;
-               sqfs_closedir(dirsp);
                ret = -ENOENT;
                goto free_paths;
        }
@@ -1532,6 +1531,7 @@ free_datablk:
 free_paths:
        free(file);
        free(dir);
+       sqfs_closedir(dirsp);
 
        return ret;
 }

Reply via email to