bc5d8eb
diff -rupN --no-dereference freetype-2.11.0/src/base/ftobjs.c freetype-2.11.0-new/src/base/ftobjs.c
bc5d8eb
--- freetype-2.11.0/src/base/ftobjs.c	2021-07-15 12:09:04.000000000 +0200
bc5d8eb
+++ freetype-2.11.0-new/src/base/ftobjs.c	2022-04-27 18:49:57.376406531 +0200
bc5d8eb
@@ -2451,6 +2451,15 @@
bc5d8eb
 #endif
bc5d8eb
 
bc5d8eb
 
bc5d8eb
+    /* only use lower 31 bits together with sign bit */
bc5d8eb
+    if ( face_index > 0 )
bc5d8eb
+      face_index &= 0x7FFFFFFFL;
bc5d8eb
+    else
bc5d8eb
+    {
bc5d8eb
+      face_index &= 0x7FFFFFFFL;
bc5d8eb
+      face_index  = -face_index;
bc5d8eb
+    }
bc5d8eb
+
bc5d8eb
 #ifdef FT_DEBUG_LEVEL_TRACE
bc5d8eb
     FT_TRACE3(( "FT_Open_Face: " ));
bc5d8eb
     if ( face_index < 0 )