font: Reject fonts with negative max_char_width or max_char_height

If max_char_width or max_char_height are negative wrong values can be propagated
by grub_font_get_max_char_width() or grub_font_get_max_char_height(). Prevent
this from happening.

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:38 +08:00 committed by Daniel Kiper
parent f680696647
commit faca60df76

View File

@ -644,8 +644,8 @@ grub_font_load (const char *filename)
font->max_char_width, font->max_char_height, font->num_chars);
#endif
if (font->max_char_width == 0
|| font->max_char_height == 0
if (font->max_char_width <= 0
|| font->max_char_height <= 0
|| font->num_chars == 0
|| font->char_index == 0 || font->ascent == 0 || font->descent == 0)
{