Blob Blame History Raw
From 002c7908388cea822217b6a907de419676d6e4b8 Mon Sep 17 00:00:00 2001
From: Trevor Woerner <trevor.woerner@linaro.org>
Date: Sat, 21 Jun 2014 20:26:47 +0200
Subject: [PATCH 083/261] * util/grub-gen-asciih.c (add_glyph): Fix
 uninitialised variable.

---
 ChangeLog              |  4 ++++
 util/grub-gen-asciih.c | 15 +++++++++------
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2a94ad979..b55211308 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-21  Trevor Woerner <trevor.woerner@linaro.org>
+
+	* util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
+
 2014-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
 
 	* grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
diff --git a/util/grub-gen-asciih.c b/util/grub-gen-asciih.c
index e01447ae9..e35dcb78f 100644
--- a/util/grub-gen-asciih.c
+++ b/util/grub-gen-asciih.c
@@ -81,14 +81,14 @@ add_glyph (FT_UInt glyph_idx, FT_Face face,
   err = FT_Load_Glyph (face, glyph_idx, flag);
   if (err)
     {
-      printf ("Freetype Error %d loading glyph 0x%x for U+0x%x",
+      fprintf (stderr, "Freetype Error %d loading glyph 0x%x for U+0x%x",
 	      err, glyph_idx, char_code);
 
       if (err > 0 && err < (signed) ARRAY_SIZE (ft_errmsgs))
-	printf (": %s\n", ft_errmsgs[err]);
+	fprintf (stderr, ": %s\n", ft_errmsgs[err]);
       else
-	printf ("\n");
-      return;
+	fprintf (stderr, "\n");
+      exit (1);
     }
 
   glyph = face->glyph;
@@ -128,7 +128,6 @@ add_glyph (FT_UInt glyph_idx, FT_Face face,
 static void
 write_font_ascii_bitmap (FILE *file, FT_Face face)
 {
-  struct grub_glyph_info glyph;
   int char_code;
 
   fprintf (file, "/* THIS CHUNK OF BYTES IS AUTOMATICALLY GENERATED */\n");
@@ -138,10 +137,14 @@ write_font_ascii_bitmap (FILE *file, FT_Face face)
   for (char_code = 0; char_code <= 0x7f; char_code++)
     {
       FT_UInt glyph_idx;
-      
+      struct grub_glyph_info glyph;
+
       glyph_idx = FT_Get_Char_Index (face, char_code);
       if (!glyph_idx)
 	return;
+
+      memset (&glyph, 0, sizeof(glyph));
+
       add_glyph (glyph_idx, face, char_code, &glyph);
 
       if (glyph.width == 8 && glyph.height == 16
-- 
2.13.5