xref: /OK3568_Linux_fs/buildroot/boot/grub2/0023-emu-Make-grub_free-NULL-safe.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From 320e86747a32e4d46d24ee4b64493741c161da50 Mon Sep 17 00:00:00 2001
2From: Peter Jones <pjones@redhat.com>
3Date: Sun, 19 Jul 2020 16:08:08 -0400
4Subject: [PATCH] emu: Make grub_free(NULL) safe
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9The grub_free() implementation in grub-core/kern/mm.c safely handles
10NULL pointers, and code at many places depends on this. We don't know
11that the same is true on all host OSes, so we need to handle the same
12behavior in grub-emu's implementation.
13
14Signed-off-by: Peter Jones <pjones@redhat.com>
15Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
16Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
17Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
18---
19 grub-core/kern/emu/mm.c | 3 ++-
20 1 file changed, 2 insertions(+), 1 deletion(-)
21
22diff --git a/grub-core/kern/emu/mm.c b/grub-core/kern/emu/mm.c
23index 145b01d37..4d1046a21 100644
24--- a/grub-core/kern/emu/mm.c
25+++ b/grub-core/kern/emu/mm.c
26@@ -60,7 +60,8 @@ grub_zalloc (grub_size_t size)
27 void
28 grub_free (void *ptr)
29 {
30-  free (ptr);
31+  if (ptr)
32+    free (ptr);
33 }
34
35 void *
36--
372.26.2
38
39