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