36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
From f7e08c5cb68f84541bb982c3dd6ab50a163bd2c2 Mon Sep 17 00:00:00 2001
|
|
From: Li Jinlin <lijinlin3@huawei.com>
|
|
Date: Tue, 29 Mar 2022 11:00:07 +0800
|
|
Subject: [PATCH 1/6] hfsplus_btree_search: free node when hfsplus_file_read
|
|
failed
|
|
|
|
when hfsplus_file_read() return error, need to free node, otherwise there
|
|
will be memory leak
|
|
|
|
Signed-off-by: Wu Guanghao <wuguanghao3@huawei.com>
|
|
Signed-off-by: Li Jinlin <lijinlin3@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
|
|
|