]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 14 May 2011 20:29:27 +0000 (22:29 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 14 May 2011 20:29:27 +0000 (22:29 +0200)
on error if not already done.

ChangeLog
grub-core/font/font_cmd.c

index f316af0b1e02d7cdd71f9adbcea51c5f8f97eed6..bb4d0aade457fc930b2bd2a0c9f15dec95c454ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,17 @@
+2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
+       on error if not already done.
+
 2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
        Fix few potential memory misusage.
 
        * grub-core/font/font.c (load_font_index): Don't free char_index to
        avoid double free.
+       (grub_font_load): Zero-fill font at alloc for safety.
+       Close file on error.
+       (free_font): Free bmp_idx.
 
 2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
index 8b00dd8b92d3f579b9b56f66bca0d9d8edb92815..98f0b88d68d3f43375ae2cc09850a856dbbb99b4 100644 (file)
@@ -33,7 +33,11 @@ loadfont_command (grub_command_t cmd __attribute__ ((unused)),
 
   while (argc--)
     if (grub_font_load (*args++) != 0)
-      return GRUB_ERR_BAD_FONT;
+      {
+       if (!grub_errno)
+         return grub_error (GRUB_ERR_BAD_FONT, "invalid font");
+       return grub_errno;
+      }
 
   return GRUB_ERR_NONE;
 }