Commit afd1cb2881a2da28edd5beb6afcf99121c6ede84

Alexei Podtelezhnikov 2021-10-16T20:25:11

* src/sfnt/ttload.c (tt_face_load_name): Accounting fix. Fallout reported as https://crbug.com/40024

diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c
index d9d3731..5c00b09 100644
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -956,6 +956,7 @@
     {
       TT_Name  entry = table->names;
       FT_UInt  count = table->numNameRecords;
+      FT_UInt  valid = 0;
 
 
       for ( ; count > 0; count-- )
@@ -991,15 +992,15 @@
         /* mark the string as not yet converted */
         entry->string = NULL;
 
+        valid++;
         entry++;
       }
 
       /* reduce array size to the actually used elements */
-      count = (FT_UInt)( entry - table->names );
       FT_MEM_QRENEW_ARRAY( table->names,
                            table->numNameRecords,
-                           count );
-      table->numNameRecords = count;
+                           valid );
+      table->numNameRecords = valid;
     }
 
     FT_FRAME_EXIT();