grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] verifiers: fix calling uninitialized function pointer


From: Michael Chang
Subject: [PATCH] verifiers: fix calling uninitialized function pointer
Date: Tue, 18 Feb 2020 18:08:18 +0800

The necessary check for null before use of function ver->close is not
taking place in the failure path. This patch simply adds the missing
check and fixes the problem that grub hangs indefinitely after booting
rogue image without valid signature if secure boot turned on.

Now it displays like this for booting rogue uefi image.

error: bad shim signature
error: you need to load the kernel first

Press any key to continue...

and then you can go back to boot menu by pressing any key or after a few
seconds expired.

Signed-off-by: Michael Chang <address@hidden>
---
 grub-core/commands/verifiers.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/grub-core/commands/verifiers.c b/grub-core/commands/verifiers.c
index 0dde48182..7b9297cd3 100644
--- a/grub-core/commands/verifiers.c
+++ b/grub-core/commands/verifiers.c
@@ -196,7 +196,8 @@ grub_verifiers_open (grub_file_t io, enum grub_file_type 
type)
   return ret;
 
  fail:
-  ver->close (context);
+  if (ver->close)
+    ver->close (context);
  fail_noclose:
   verified_free (verified);
   grub_free (ret);
-- 
2.16.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]