Commit 9b6b5754b57c12b820e01305eb69b8863a161e5a

Werner Lemberg 2012-12-15T01:34:41

[bdf] Fix Savannah bug #37905. * src/bdf/bdflib.c (_bdf_parse_start): Reset `props_size' to zero in case of allocation error; this value gets used in a loop in `bdf_free_font'.

diff --git a/ChangeLog b/ChangeLog
index f3d12c1..5c9e7eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-12-15  Werner Lemberg  <wl@gnu.org>
+
+	[bdf] Fix Savannah bug #37905.
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Reset `props_size' to zero in
+	case of allocation error; this value gets used in a loop in
+	`bdf_free_font'.
+
 2012-12-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
 	[truetype] Scale F_dot_P down.
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index ed08a6e..8d7f9a0 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -2169,7 +2169,10 @@
       p->cnt = p->font->props_size = _bdf_atoul( p->list.field[1], 0, 10 );
 
       if ( FT_NEW_ARRAY( p->font->props, p->cnt ) )
+      {
+        p->font->props_size = 0;
         goto Exit;
+      }
 
       p->flags |= _BDF_PROPS;
       *next     = _bdf_parse_properties;