1dc728923Sopenharmony_ciFrom ba18f6efec62a1706b4bcf8fffd27611022260b8 Mon Sep 17 00:00:00 2001 2dc728923Sopenharmony_ciFrom: zhanchengbin <zhanchengbin1@huawei.com> 3dc728923Sopenharmony_ciDate: Fri, 31 Dec 2021 15:42:40 +0800 4dc728923Sopenharmony_ciSubject: dumpe2fs, resize2fs: avoid memory leak on error path 5dc728923Sopenharmony_ci 6dc728923Sopenharmony_ciLink: https://lore.kernel.org/r/cbfd9852-bc89-1e83-f101-36fd29a0e70e@huawei.com 7dc728923Sopenharmony_ciSigned-off-by: zhanchengbin <zhanchengbin1@huawei.com> 8dc728923Sopenharmony_ciSigned-off-by: Theodore Ts'o <tytso@mit.edu> 9dc728923Sopenharmony_ci--- 10dc728923Sopenharmony_ci misc/dumpe2fs.c | 1 + 11dc728923Sopenharmony_ci resize/resize2fs.c | 4 ++-- 12dc728923Sopenharmony_ci 2 files changed, 3 insertions(+), 2 deletions(-) 13dc728923Sopenharmony_ci 14dc728923Sopenharmony_cidiff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c 15dc728923Sopenharmony_ciindex 3f4fc4ed..ef6d1cb8 100644 16dc728923Sopenharmony_ci--- a/misc/dumpe2fs.c 17dc728923Sopenharmony_ci+++ b/misc/dumpe2fs.c 18dc728923Sopenharmony_ci@@ -338,6 +338,7 @@ static void list_bad_blocks(ext2_filsys fs, int dump) 19dc728923Sopenharmony_ci if (retval) { 20dc728923Sopenharmony_ci com_err("ext2fs_badblocks_list_iterate_begin", retval, 21dc728923Sopenharmony_ci "%s", _("while printing bad block list")); 22dc728923Sopenharmony_ci+ ext2fs_badblocks_list_free(bb_list); 23dc728923Sopenharmony_ci return; 24dc728923Sopenharmony_ci } 25dc728923Sopenharmony_ci if (dump) { 26dc728923Sopenharmony_cidiff --git a/resize/resize2fs.c b/resize/resize2fs.c 27dc728923Sopenharmony_ciindex d69cb01e..916b1f4b 100644 28dc728923Sopenharmony_ci--- a/resize/resize2fs.c 29dc728923Sopenharmony_ci+++ b/resize/resize2fs.c 30dc728923Sopenharmony_ci@@ -1781,11 +1781,11 @@ static errcode_t block_mover(ext2_resize_t rfs) 31dc728923Sopenharmony_ci fs->inode_blocks_per_group, 32dc728923Sopenharmony_ci &rfs->itable_buf); 33dc728923Sopenharmony_ci if (retval) 34dc728923Sopenharmony_ci- return retval; 35dc728923Sopenharmony_ci+ goto errout; 36dc728923Sopenharmony_ci } 37dc728923Sopenharmony_ci retval = ext2fs_create_extent_table(&rfs->bmap, 0); 38dc728923Sopenharmony_ci if (retval) 39dc728923Sopenharmony_ci- return retval; 40dc728923Sopenharmony_ci+ goto errout; 41dc728923Sopenharmony_ci 42dc728923Sopenharmony_ci /* 43dc728923Sopenharmony_ci * The first step is to figure out where all of the blocks 44dc728923Sopenharmony_ci-- 45dc728923Sopenharmony_cicgit 46dc728923Sopenharmony_ci 47