commit | 075fe0cc5278d02b126848e99d152bd33a245a9b | [log] [tgz] |
---|---|---|
author | Werner Lemberg <wl@gnu.org> | Sat Mar 19 06:40:17 2022 +0100 |
committer | android-t1 <android-t1@t2mobile.com> | Thu Jul 06 10:48:46 2023 +0800 |
tree | 234ad317e206c974e924b6e8391f37f236de846a | |
parent | c1d99eec35a285b072dddd915fe0243192bb5417 [diff] |
DO NOT MERGE - Cherry-pick two upstream changes This cherry picks following two changes: 0c2bdb01a2e1d24a3e592377a6d0822856e10df2 22a0cccb4d9d002f33c1ba7a4b36812c7d4f46b5 Bug: 271680254 Test: N/A (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4ffa271ab538f57b65a65d434a2df9d3f8cd2f4a) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8abb5b963d8f3bac3224c09edff6dcbbd11bf508) Merged-In: I42469df8e8b07221d64e3f8574c4f30110dbda7e Change-Id: I42469df8e8b07221d64e3f8574c4f30110dbda7e
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 883f1a8..46baf5f 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c
@@ -2451,6 +2451,15 @@ #endif + /* only use lower 31 bits together with sign bit */ + if ( face_index > 0 ) + face_index &= 0x7FFFFFFFL; + else + { + face_index &= 0x7FFFFFFFL; + face_index = -face_index; + } + #ifdef FT_DEBUG_LEVEL_TRACE FT_TRACE3(( "FT_Open_Face: " )); if ( face_index < 0 ) @@ -3323,6 +3332,9 @@ if ( !face ) return FT_THROW( Invalid_Face_Handle ); + if ( !face->size ) + return FT_THROW( Invalid_Size_Handle ); + if ( !req || req->width < 0 || req->height < 0 || req->type >= FT_SIZE_REQUEST_TYPE_MAX ) return FT_THROW( Invalid_Argument );