There is a problem in ascii_glyph_lookup(). It doesn't check the return value of grub_malloc(). If memory can't be allocated, then NULL pointer will be written to.
This patch fixes the problem by fallbacking to unknown_glyph in case of grub_malloc() returns NULL. Signed-off-by: Zhang Boyang <zhangboyang...@gmail.com> --- grub-core/font/font.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/grub-core/font/font.c b/grub-core/font/font.c index 3821937e6..19a47f873 100644 --- a/grub-core/font/font.c +++ b/grub-core/font/font.c @@ -131,6 +131,11 @@ ascii_glyph_lookup (grub_uint32_t code) { ascii_font_glyph[current] = grub_malloc (sizeof (struct grub_font_glyph) + ASCII_BITMAP_SIZE); + if (ascii_font_glyph[current] == NULL) + { + ascii_font_glyph[current] = unknown_glyph; + continue; + } ascii_font_glyph[current]->width = 8; ascii_font_glyph[current]->height = 16; -- 2.30.2 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel