Fix memory leak in grub_hfsplus_btree_search.

Fixes: 58ea11d5b(Don't fetch a key beyond the end of the node)

Signed-off-by: "t.feng" <fengta...@huawei.com>
---
 grub-core/fs/hfsplus.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c
index 6337cbfcb..11393ca34 100644
--- a/grub-core/fs/hfsplus.c
+++ b/grub-core/fs/hfsplus.c
@@ -652,7 +652,10 @@ grub_hfsplus_btree_search (struct grub_hfsplus_btree 
*btree,
                         + 2);
 
              if ((char *) pointer > node + btree->nodesize - 2)
-               return grub_error (GRUB_ERR_BAD_FS, "HFS+ key beyond end of 
node");
+               {
+                 grub_free (node);
+                 return grub_error (GRUB_ERR_BAD_FS, "HFS+ key beyond end of 
node");
+               }
 
              currnode = grub_be_to_cpu32 (grub_get_unaligned32 (pointer));
              match = 1;
-- 
2.27.0


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to