From 585bca68f89aa2a99e39f9234a10f825eb243589 Mon Sep 17 00:00:00 2001 From: Lukas Czerner Date: Thu, 20 Feb 2014 20:54:29 -0500 Subject: Set pointer to NULL after ext2fs_free ext2fs_free() does not set the ext2_filsys pointer to null so the caller is responsible to setting it himself if it is needed. This patch fixes some places where caller did not set ext2_filsys pointer to NULL after ext2fs_free() which might result in use after free. Fix it. Signed-off-by: Lukas Czerner Signed-off-by: "Theodore Ts'o" --- resize/resize2fs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'resize') diff --git a/resize/resize2fs.c b/resize/resize2fs.c index b0c4b5ea..27f508ec 100644 --- a/resize/resize2fs.c +++ b/resize/resize2fs.c @@ -209,6 +209,7 @@ errcode_t resize_fs(ext2_filsys fs, blk64_t *new_size, int flags, rfs->flags = flags; ext2fs_free(rfs->old_fs); + rfs->old_fs = NULL; if (rfs->itable_buf) ext2fs_free_mem(&rfs->itable_buf); if (rfs->reserve_blocks) @@ -220,8 +221,10 @@ errcode_t resize_fs(ext2_filsys fs, blk64_t *new_size, int flags, return 0; errout: - if (rfs->new_fs) + if (rfs->new_fs) { ext2fs_free(rfs->new_fs); + rfs->new_fs = NULL; + } if (rfs->itable_buf) ext2fs_free_mem(&rfs->itable_buf); ext2fs_free_mem(&rfs); -- cgit v1.2.1