[parted-devel] [PATCH 1/6] hfsplus_btree_search: free node when hfsplus_file_read failed

Wu Guanghao wuguanghao3 at huawei.com
Wed Dec 15 08:29:59 GMT 2021


when hfsplus_file_read() return error, need to free node, otherwise there
will be memory leak

Signed-off-by: Wu Guanghao <wuguanghao3 at huawei.com>
---
 libparted/fs/r/hfs/advfs_plus.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libparted/fs/r/hfs/advfs_plus.c b/libparted/fs/r/hfs/advfs_plus.c
index 55e88cd..b1cc644 100644
--- a/libparted/fs/r/hfs/advfs_plus.c
+++ b/libparted/fs/r/hfs/advfs_plus.c
@@ -101,9 +101,10 @@ hfsplus_btree_search (HfsPPrivateFile* b_tree_file, HfsPPrivateGenericKey* key,
 
 	/* Read the root node */
 	if (!hfsplus_file_read (b_tree_file, node,
-				(PedSector) node_number * size, size))
+				(PedSector) node_number * size, size)) {
+		free(node);
 		return 0;
-
+	}
 	/* Follow the white rabbit */
 	while (1) {
 		record_number = PED_BE16_TO_CPU (desc->rec_nb);
-- 
2.27.0




More information about the parted-devel mailing list