Go to file
Michael Chang d0de8b37f6 verifiers: Fix calling uninitialized function pointer
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 is 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 <mchang@suse.com>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-02-18 15:17:40 +01:00
asm-tests asm-tests/i386-pc: Check that movl is 5 bytes. 2016-09-28 20:31:04 +03:00
conf bootstrap: Add gnulib's base64 module 2020-01-10 14:26:40 +01:00
docs docs: Update info with grub.cfg netboot selection order 2020-02-18 15:12:07 +01:00
grub-core verifiers: Fix calling uninitialized function pointer 2020-02-18 15:17:40 +01:00
include grub-editenv: Add grub_util_readlink() 2020-02-18 15:14:13 +01:00
po gnulib: Upgrade Gnulib and switch to bootstrap tool 2019-03-05 10:48:12 +01:00
tests syslinux: Fix syslinux_test in out-of-tree builds 2019-03-05 10:27:53 +01:00
themes/starfield Starfield theme. 2012-02-23 17:21:38 +01:00
unicode * unicode: Import Unicode 6.0 data. 2011-12-25 16:17:25 +01:00
util grub-editenv: Make grub-editenv chase symlinks including those across devices 2020-02-18 15:16:02 +01:00
.gitattributes gitattributes: Mark po/exclude.pot as binary so git won't try to diff nonprintables 2019-09-23 13:17:15 +02:00
.gitignore gnulib: Upgrade Gnulib and switch to bootstrap tool 2019-03-05 10:48:12 +01:00
.travis.yml travis: Add Travis CI config file 2019-02-25 14:02:06 +01:00
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
BUGS * BUGS: New file. 2011-01-11 00:06:01 +01:00
COPYING 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
ChangeLog-2015 Autogenerate ChangeLog from git changelog. 2015-01-24 17:29:50 +01:00
INSTALL gnulib: Upgrade Gnulib and switch to bootstrap tool 2019-03-05 10:48:12 +01:00
Makefile.am Makefile: Allow to set file systems modules for default_payload.elf 2019-03-12 20:04:07 +01:00
Makefile.util.def grub-editenv: Make grub-editenv chase symlinks including those across devices 2020-02-18 15:16:02 +01:00
NEWS Release 2.04 2019-07-04 15:57:30 +02:00
README README: Remove dead link to the wiki 2015-11-06 04:31:23 +01:00
THANKS 2009-12-11 Robert Millan <rmh.grub@aybabtu.com> 2009-12-11 22:44:47 +00:00
TODO TODO: Remove obsolete link 2016-02-12 17:51:52 +01:00
acinclude.m4 Fix -nopie/-nopie check. 2017-01-30 19:38:55 +01:00
autogen.sh POTFILES: Don't include gnulib in grub.pot 2019-03-26 15:04:17 +01:00
bootstrap gnulib: Upgrade Gnulib and switch to bootstrap tool 2019-03-05 10:48:12 +01:00
bootstrap.conf bootstrap: Add gnulib's base64 module 2020-01-10 14:26:40 +01:00
config.h.in Remove libgcc dependency. 2015-03-03 20:50:37 +01:00
configure.ac RISC-V: Add __clzdi2 symbol 2019-09-23 13:17:15 +02:00
coreboot.cfg * coreboot.cfg: Add missing file. 2013-11-20 00:52:23 +01:00
geninit.sh automake commit without merge history 2010-05-06 11:34:04 +05:30
gentpl.py RISC-V: Add to build system 2019-02-25 14:02:05 +01:00
linguas.sh linguas: Don't skip ko.po. 2017-02-04 00:06:57 +01:00

README

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.

See the file NEWS for a description of recent changes to GRUB 2.

See the file INSTALL for instructions on how to build and install the
GRUB 2 data and program files.

Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.

More extensive documentation is available in the Info manual,
accessible using 'info grub' after building and installing GRUB 2.

There are a number of important user-visible differences from the
first version of GRUB, now known as GRUB Legacy. For a summary, please
see:

  info grub Introduction 'Changes from GRUB Legacy'