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 <zhangboyang.id@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Zhang Boyang 2022-12-05 19:29:36 +08:00 committed by Daniel Kiper
parent 5464e31a4e
commit d7ed2ebcd6

View File

@ -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;