[PATCH] fs/squashfs: sqfs_close/sqfs_read_sblk: set ctxt.sblk to NULL after free

This will prevent a double free error if sqfs_close() is called twice.
Signed-off-by: Richard Genoud richard.genoud@posteo.net --- fs/squashfs/sqfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/squashfs/sqfs.c b/fs/squashfs/sqfs.c index 15208b4dab0..4e6b6058f97 100644 --- a/fs/squashfs/sqfs.c +++ b/fs/squashfs/sqfs.c @@ -49,6 +49,7 @@ static int sqfs_read_sblk(struct squashfs_super_block **sblk)
if (sqfs_disk_read(0, 1, *sblk) != 1) { free(*sblk); + sblk = NULL; return -EINVAL; }
@@ -1542,9 +1543,10 @@ free_strings:
void sqfs_close(void) { + sqfs_decompressor_cleanup(&ctxt); free(ctxt.sblk); + ctxt.sblk = NULL; ctxt.cur_dev = NULL; - sqfs_decompressor_cleanup(&ctxt); }
void sqfs_closedir(struct fs_dir_stream *dirs)

On Tue, Nov 24, 2020 at 06:07:52PM +0100, Richard Genoud wrote:
This will prevent a double free error if sqfs_close() is called twice.
Signed-off-by: Richard Genoud richard.genoud@posteo.net
Applied to u-boot/master, thanks!
participants (2)
-
Richard Genoud
-
Tom Rini