diff options
Diffstat (limited to 'src/3rdparty/harfbuzz/src/harfbuzz-gpos.c')
-rw-r--r-- | src/3rdparty/harfbuzz/src/harfbuzz-gpos.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c index 21ffe84ab3..1e1b92b010 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c +++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c @@ -3193,6 +3193,9 @@ static HB_Error Lookup_MarkMarkPos( GPOS_Instance* gpi, j--; } + if ( i > buffer->in_pos ) + return HB_Err_Not_Covered; + error = _HB_OPEN_Coverage_Index( &mmp->Mark2Coverage, IN_GLYPH( j ), &mark2_index ); if ( error ) @@ -5349,13 +5352,13 @@ static HB_Error Lookup_ChainContextPos2( if ( error ) return error; + if (ccpf2->MaxInputLength < 1) + return HB_Err_Not_Covered; + if ( ALLOC_ARRAY( backtrack_classes, ccpf2->MaxBacktrackLength, HB_UShort ) ) return error; known_backtrack_classes = 0; - if (ccpf2->MaxInputLength < 1) - return HB_Err_Not_Covered; - if ( ALLOC_ARRAY( input_classes, ccpf2->MaxInputLength, HB_UShort ) ) goto End3; known_input_classes = 1; |