]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix for Bug#5526.
authorChong Yidong <cyd@stupidchicken.com>
Fri, 5 Feb 2010 03:54:49 +0000 (22:54 -0500)
committerChong Yidong <cyd@stupidchicken.com>
Fri, 5 Feb 2010 03:54:49 +0000 (22:54 -0500)
* charset.c (load_charset_map_from_file): Allocate large
charset_map_entries structure on the heap rather than the stack.
(Bug#5526).

src/ChangeLog
src/charset.c

index 7277400a0f1593ab6ae6f7e237590e271a16b651..f1f4aa24b35a9dd7c3babc5dc028bc087f0716f3 100644 (file)
@@ -1,3 +1,9 @@
+2010-02-05  Chong Yidong  <cyd@stupidchicken.com>
+
+       * charset.c (load_charset_map_from_file): Allocate large
+       charset_map_entries structure on the heap rather than the stack.
+       (Bug#5526).
+
 2010-01-31  Kenichi Handa  <handa@m17n.org>
 
        * font.c (font_parse_xlfd): If FONT is a font-entity and pixel
index 0f6bb4f0906a4ed8148d970ff28229be2fd099af..9e8ff1d59c95cccebd52ff4e4ee1aad90877c195 100644 (file)
@@ -526,7 +526,7 @@ load_charset_map_from_file (charset, mapfile, control_flag)
     error ("Failure in loading charset map: %S", SDATA (mapfile));
 
   head = entries = ((struct charset_map_entries *)
-                   alloca (sizeof (struct charset_map_entries)));
+                   xmalloc (sizeof (struct charset_map_entries)));
   n_entries = 0;
   eof = 0;
   while (1)
@@ -563,6 +563,7 @@ load_charset_map_from_file (charset, mapfile, control_flag)
   close (fd);
 
   load_charset_map (charset, head, n_entries, control_flag);
+  xfree (head);
 }
 
 static void