Commit 967a34eee3fd34f496366ed1283ab5268d23690a

Alexei Podtelezhnikov 2021-05-07T19:17:48

[type1] Avoid MM memory zeroing. * src/type1/t1load.c (t1_allocate_blend, parse_blend_design_map): Tweak allocation macros. * src/type1/t1objs.c (T1_Face_Done): Minor.

diff --git a/ChangeLog b/ChangeLog
index 54b07b1..ead7ae2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2021-05-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
+	[type1] Avoid MM memory zeroing.
+
+	* src/type1/t1load.c (t1_allocate_blend, parse_blend_design_map):
+	Tweak allocation macros.
+	* src/type1/t1objs.c (T1_Face_Done): Minor.
+
+2021-05-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
 	* src/bdf/bdflib.c (_bdf_list_ensure): Tweak allocation macro.
 
 2021-05-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
diff --git a/src/type1/t1load.c b/src/type1/t1load.c
index fe6239f..497c26a 100644
--- a/src/type1/t1load.c
+++ b/src/type1/t1load.c
@@ -130,10 +130,10 @@
 
 
         /* allocate the blend `private' and `font_info' dictionaries */
-        if ( FT_NEW_ARRAY( blend->font_infos[1], num_designs     ) ||
-             FT_NEW_ARRAY( blend->privates  [1], num_designs     ) ||
-             FT_NEW_ARRAY( blend->bboxes    [1], num_designs     ) ||
-             FT_NEW_ARRAY( blend->weight_vector, num_designs * 2 ) )
+        if ( FT_QNEW_ARRAY( blend->font_infos[1], num_designs     ) ||
+             FT_QNEW_ARRAY( blend->privates  [1], num_designs     ) ||
+             FT_QNEW_ARRAY( blend->bboxes    [1], num_designs     ) ||
+             FT_QNEW_ARRAY( blend->weight_vector, num_designs * 2 ) )
           goto Exit;
 
         blend->default_weight_vector = blend->weight_vector + num_designs;
@@ -167,12 +167,12 @@
     /* allocate the blend design pos table if needed */
     num_designs = blend->num_designs;
     num_axis    = blend->num_axis;
-    if ( num_designs && num_axis && blend->design_pos[0] == 0 )
+    if ( num_designs && num_axis && blend->design_pos[0] == NULL )
     {
       FT_UInt  n;
 
 
-      if ( FT_NEW_ARRAY( blend->design_pos[0], num_designs * num_axis ) )
+      if ( FT_QNEW_ARRAY( blend->design_pos[0], num_designs * num_axis ) )
         goto Exit;
 
       for ( n = 1; n < num_designs; n++ )
@@ -1044,7 +1044,7 @@
       }
 
       /* allocate design map data */
-      if ( FT_NEW_ARRAY( map->design_points, num_points * 2 ) )
+      if ( FT_QNEW_ARRAY( map->design_points, num_points * 2 ) )
         goto Exit;
       map->blend_points = map->design_points + num_points;
       map->num_points   = (FT_Byte)num_points;
diff --git a/src/type1/t1objs.c b/src/type1/t1objs.c
index 9274c4a..ec202be 100644
--- a/src/type1/t1objs.c
+++ b/src/type1/t1objs.c
@@ -217,7 +217,6 @@
     {
       FT_FREE( face->buildchar );
 
-      face->buildchar     = NULL;
       face->len_buildchar = 0;
     }