Commit 340767bf85b054595c42dd1c089318cb19d45899

Alexei Podtelezhnikov 2023-04-02T22:00:59

* src/sfnt/ttpost.c (load_format_*): Streamline frame reading.

diff --git a/src/sfnt/ttpost.c b/src/sfnt/ttpost.c
index f4e8fe5..ac9de6e 100644
--- a/src/sfnt/ttpost.c
+++ b/src/sfnt/ttpost.c
@@ -169,6 +169,7 @@
 
     FT_UShort*  glyph_indices = NULL;
     FT_Byte**   name_strings  = NULL;
+    FT_Byte*    q;
 
 
     if ( (FT_ULong)num_glyphs * 2 > post_len )
@@ -182,9 +183,11 @@
          FT_FRAME_ENTER( num_glyphs * 2 )           )
       goto Fail;
 
+    q = (FT_Byte*)stream->cursor;
+
     for ( n = 0; n < num_glyphs; n++ )
     {
-      FT_UShort  idx = FT_GET_USHORT();
+      FT_UShort  idx = FT_NEXT_USHORT( q );
 
 
       if ( idx > num_names )
@@ -272,6 +275,7 @@
 
     FT_UShort   n;
     FT_UShort*  glyph_indices = NULL;
+    FT_Byte*    q;
 
 
     /* check the number of glyphs, including the theoretical limit */
@@ -287,9 +291,11 @@
          FT_FRAME_ENTER( num_glyphs )               )
       goto Fail;
 
+    q = (FT_Byte*)stream->cursor;
+
     for ( n = 0; n < num_glyphs; n++ )
     {
-      FT_Int  idx = n + FT_GET_CHAR();
+      FT_Int  idx = n + FT_NEXT_CHAR( q );
 
 
       if ( idx < 0 || idx > 257 )