46968b6
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
46968b6
From: Peter Jones <pjones@redhat.com>
46968b6
Date: Sun, 19 Jul 2020 17:14:15 -0400
46968b6
Subject: [PATCH] efi+http: fix some allocation error checking.
46968b6
46968b6
Signed-off-by: Peter Jones <pjones@redhat.com>
46968b6
---
46968b6
 grub-core/net/efi/http.c | 11 +++++++----
46968b6
 1 file changed, 7 insertions(+), 4 deletions(-)
46968b6
46968b6
diff --git a/grub-core/net/efi/http.c b/grub-core/net/efi/http.c
e622855
index fc8cb25ae0..26647a50fa 100644
46968b6
--- a/grub-core/net/efi/http.c
46968b6
+++ b/grub-core/net/efi/http.c
46968b6
@@ -412,8 +412,8 @@ grub_efihttp_open (struct grub_efi_net_device *dev,
46968b6
 		  int type)
46968b6
 {
46968b6
   grub_err_t err;
46968b6
-  grub_off_t size;
46968b6
-  char *buf;
46968b6
+  grub_off_t size = 0;
46968b6
+  char *buf = NULL;
46968b6
   char *file_name = NULL;
46968b6
   const char *http_path;
46968b6
 
46968b6
@@ -441,8 +441,11 @@ grub_efihttp_open (struct grub_efi_net_device *dev,
46968b6
       return err;
46968b6
     }
46968b6
 
46968b6
-  buf = grub_malloc (size);
46968b6
-  efihttp_read (dev, buf, size);
46968b6
+  if (size)
46968b6
+    {
46968b6
+      buf = grub_malloc (size);
46968b6
+      efihttp_read (dev, buf, size);
46968b6
+    }
46968b6
 
46968b6
   file->size = size;
46968b6
   file->data = buf;