shithub: freetype+ttf2subf

Download patch

ref: 0313a11c4c2d1a6688facccffd18e0473dc6953e
parent: 22befeef82ff8ab7100c0e40f93f748597674b31
author: Alexei Podtelezhnikov <[email protected]>
date: Thu Oct 7 18:43:12 EDT 2021

* src/cid/cidgload.c (cid_load_glyph): Fortify incremental loading.

git/fs: mount .git/fs: mount/attach disallowed
--- a/src/cid/cidgload.c
+++ b/src/cid/cidgload.c
@@ -76,20 +76,17 @@
 
       error = inc->funcs->get_glyph_data( inc->object,
                                           glyph_index, &glyph_data );
-      if ( error )
+      if ( error || glyph_data.length < cid->fd_bytes )
         goto Exit;
 
       p         = (FT_Byte*)glyph_data.pointer;
       fd_select = cid_get_offset( &p, cid->fd_bytes );
 
-      if ( glyph_data.length != 0 )
-      {
-        glyph_length = glyph_data.length - cid->fd_bytes;
+      glyph_length = glyph_data.length - cid->fd_bytes;
 
-        if ( !FT_QALLOC( charstring, glyph_length ) )
-          FT_MEM_COPY( charstring, glyph_data.pointer + cid->fd_bytes,
-                       glyph_length );
-      }
+      if ( !FT_QALLOC( charstring, glyph_length ) )
+        FT_MEM_COPY( charstring, glyph_data.pointer + cid->fd_bytes,
+                     glyph_length );
 
       inc->funcs->free_glyph_data( inc->object, &glyph_data );