]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix use of unitialized memory.
authorChong Yidong <cyd@stupidchicken.com>
Sun, 28 Feb 2010 14:19:31 +0000 (09:19 -0500)
committerChong Yidong <cyd@stupidchicken.com>
Sun, 28 Feb 2010 14:19:31 +0000 (09:19 -0500)
* charset.c (load_charset_map_from_file)
(load_charset_map_from_vector): Zero out allocated
charset_map_entries before using them.

src/ChangeLog
src/charset.c

index 6cafe2f60a54f669bcab461cd37695dabd8b0969..f0a620b7b995c985f044edbfabf88d2f1edf0480 100644 (file)
@@ -1,3 +1,9 @@
+2010-02-28  Chong Yidong  <cyd@stupidchicken.com>
+
+       * charset.c (load_charset_map_from_file)
+       (load_charset_map_from_vector): Zero out allocated
+       charset_map_entries before using them.
+
 2010-02-27  Andreas Schwab  <schwab@linux-m68k.org>
 
        * w32uniscribe.c (uniscribe_check_otf): Fix length check.
index 1db9ec17ae7f41e9ce00a8b3f62d398424c1fd4f..125c91316871c569c135729744bb126641073d80 100644 (file)
@@ -531,6 +531,7 @@ load_charset_map_from_file (charset, mapfile, control_flag)
   SAFE_ALLOCA (head, struct charset_map_entries *,
               sizeof (struct charset_map_entries));
   entries = head;
+  bzero (entries, sizeof (struct charset_map_entries));
 
   n_entries = 0;
   eof = 0;
@@ -557,6 +558,7 @@ load_charset_map_from_file (charset, mapfile, control_flag)
          SAFE_ALLOCA (entries->next, struct charset_map_entries *,
                       sizeof (struct charset_map_entries));
          entries = entries->next;
+         bzero (entries, sizeof (struct charset_map_entries));
        }
       idx = n_entries % 0x10000;
       entries->entry[idx].from = from;
@@ -596,6 +598,7 @@ load_charset_map_from_vector (charset, vec, control_flag)
   SAFE_ALLOCA (head, struct charset_map_entries *,
               sizeof (struct charset_map_entries));
   entries = head;
+  bzero (entries, sizeof (struct charset_map_entries));
 
   n_entries = 0;
   for (i = 0; i < len; i += 2)
@@ -632,6 +635,7 @@ load_charset_map_from_vector (charset, vec, control_flag)
          SAFE_ALLOCA (entries->next, struct charset_map_entries *,
                       sizeof (struct charset_map_entries));
          entries = entries->next;
+         bzero (entries, sizeof (struct charset_map_entries));
        }
       idx = n_entries % 0x10000;
       entries->entry[idx].from = from;