From: Zhang Boyang Date: Mon, 5 Dec 2022 11:29:36 +0000 (+0800) Subject: font: Check return value of grub_malloc() in ascii_glyph_lookup() X-Git-Tag: grub-2.12-rc1~184 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d7ed2ebcd69df123fde8ae1ba9163e2b93c47bbf;p=thirdparty%2Fgrub.git font: Check return value of grub_malloc() in ascii_glyph_lookup() 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 when grub_malloc() returns NULL. Signed-off-by: Zhang Boyang Reviewed-by: Daniel Kiper --- 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;