summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c')
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c b/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c
index 4078777f25b..03955e945ba 100644
--- a/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c
+++ b/Build/source/libs/freetype2/freetype-src/src/type42/t42objs.c
@@ -4,7 +4,7 @@
*
* Type 42 objects manager (body).
*
- * Copyright (C) 2002-2022 by
+ * Copyright (C) 2002-2021 by
* Roberto Alameda.
*
* This file is part of the FreeType project, and may only be used,
@@ -44,8 +44,14 @@
parser = &loader.parser;
- face->ttf_data = NULL;
- face->ttf_size = 0;
+ if ( FT_QALLOC( face->ttf_data, 12 ) )
+ goto Exit;
+
+ /* while parsing the font we always update `face->ttf_size' so that */
+ /* even in case of buggy data (which might lead to premature end of */
+ /* scanning without causing an error) the call to `FT_Open_Face' in */
+ /* `T42_Face_Init' passes the correct size */
+ face->ttf_size = 12;
error = t42_parser_init( parser,
face->root.stream,
@@ -146,11 +152,6 @@
Exit:
t42_loader_done( &loader );
- if ( error )
- {
- FT_FREE(face->ttf_data);
- face->ttf_size = 0;
- }
return error;
}