]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt): Use
authorChong Yidong <cyd@stupidchicken.com>
Tue, 23 Jun 2009 14:14:40 +0000 (14:14 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 23 Jun 2009 14:14:40 +0000 (14:14 +0000)
xmalloc and xrealloc (not malloc and realloc), so subsequent heap
pointer dereferences are guaranteed to be valid.

src/ChangeLog
src/ftfont.c

index 840a0b7b1f6f589ac6e581ea2d80395d3532250e..e3ae880523516b2b0ba8849e3cac20d80531a125 100644 (file)
@@ -1,3 +1,9 @@
+2009-06-23  Jim Meyering  <meyering@redhat.com>
+
+       * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt): Use
+       xmalloc and xrealloc (not malloc and realloc), so subsequent heap
+       pointer dereferences are guaranteed to be valid.
+
 2009-06-21  Jason Rumney  <jasonr@gnu.org>
 
        * w32term.c (keyboard_codepage): New static variable.
index 7dcdee61ab43b8d770f8e707cfa9fc999b02e6ea..25545d1a08f5cf871cf8d71b77f0863f19769ff0 100644 (file)
@@ -1700,12 +1700,12 @@ setup_otf_gstring (int size)
 {
   if (otf_gstring.size == 0)
     {
-      otf_gstring.glyphs = (OTF_Glyph *) malloc (sizeof (OTF_Glyph) * size);
+      otf_gstring.glyphs = (OTF_Glyph *) xmalloc (sizeof (OTF_Glyph) * size);
       otf_gstring.size = size;
     }
   else if (otf_gstring.size < size)
     {
-      otf_gstring.glyphs = (OTF_Glyph *) realloc (otf_gstring.glyphs,
+      otf_gstring.glyphs = (OTF_Glyph *) xrealloc (otf_gstring.glyphs,
                                                  sizeof (OTF_Glyph) * size);
       otf_gstring.size = size;
     }
@@ -2037,13 +2037,13 @@ ftfont_shape_by_flt (lgstring, font, ft_face, otf)
     {
       gstring.allocated = len * 2;
       gstring.glyph_size = sizeof (MFLTGlyph);
-      gstring.glyphs = malloc (sizeof (MFLTGlyph) * gstring.allocated);
+      gstring.glyphs = xmalloc (sizeof (MFLTGlyph) * gstring.allocated);
     }
   else if (gstring.allocated < len * 2)
     {
       gstring.allocated = len * 2;
-      gstring.glyphs = realloc (gstring.glyphs,
-                               sizeof (MFLTGlyph) * gstring.allocated);
+      gstring.glyphs = xrealloc (gstring.glyphs,
+                                sizeof (MFLTGlyph) * gstring.allocated);
     }
   memset (gstring.glyphs, 0, sizeof (MFLTGlyph) * len);
   for (i = 0; i < len; i++)
@@ -2092,7 +2092,7 @@ ftfont_shape_by_flt (lgstring, font, ft_face, otf)
       if (result != -2)
        break;
       gstring.allocated += gstring.allocated;
-      gstring.glyphs = realloc (gstring.glyphs,
+      gstring.glyphs = xrealloc (gstring.glyphs,
                                sizeof (MFLTGlyph) * gstring.allocated);
     }
   if (gstring.used > LGSTRING_GLYPH_LEN (lgstring))