]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/gettext/gettext.c (grub_mofile_open): Call
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 28 Feb 2012 10:50:53 +0000 (11:50 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 28 Feb 2012 10:50:53 +0000 (11:50 +0100)
grub_gettext_delete_list before changing grub_gettext_max to avoid
running out of array bounds.

ChangeLog
grub-core/gettext/gettext.c

index e63e4d99caf614297ffc74aed012dca2a0c08b81..eb292b60aaa4411d744bdabb6994c59c87626eb1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,15 @@
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
+2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/gettext/gettext.c (grub_mofile_open): Call
+       grub_gettext_delete_list before changing grub_gettext_max to avoid
+       running out of array bounds.
+
+2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
        grub_vga_text_init/grub_vga_text_fini.
 
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
+2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
 
index 46fe107adc66b9bd97db2fb4326d5101248ac3a0..2b915910de8cd0129aa24f3b48f1b08f90c66e6e 100644 (file)
@@ -257,6 +257,8 @@ grub_mofile_open (const char *filename)
                         "mo: invalid mo version in file: %s", filename);
     }
 
+  grub_gettext_delete_list ();
+
   grub_gettext_offset_original = grub_le_to_cpu32 (head.offset_original);
   grub_gettext_offset_translation = grub_le_to_cpu32 (head.offset_translation);
   grub_gettext_max = grub_le_to_cpu32 (head.number_of_strings);
@@ -266,7 +268,6 @@ grub_mofile_open (const char *filename)
     grub_file_close (fd_mo);
   fd_mo = 0;
 
-  grub_gettext_delete_list ();
   grub_gettext_msg_list = grub_zalloc (grub_gettext_max
                                       * sizeof (grub_gettext_msg_list[0]));
   if (!grub_gettext_msg_list)