From 340767bf85b054595c42dd1c089318cb19d45899 Mon Sep 17 00:00:00 2001 From: Alexei Podtelezhnikov Date: Sun, 2 Apr 2023 22:00:59 -0400 Subject: * src/sfnt/ttpost.c (load_format_*): Streamline frame reading. --- src/sfnt/ttpost.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/sfnt/ttpost.c b/src/sfnt/ttpost.c index f4e8fe508..ac9de6e24 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 ) -- cgit v1.2.1