[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 1c04eed: [truetype] Fix assertion failure.
From: |
Werner LEMBERG |
Subject: |
[freetype2] master 1c04eed: [truetype] Fix assertion failure. |
Date: |
Fri, 7 Sep 2018 00:41:15 -0400 (EDT) |
branch: master
commit 1c04eed76feffee0730d80c993e6dd602c335929
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[truetype] Fix assertion failure.
Triggered by
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10212
* src/truetype/ttgload.c (load_truetype_glyph): Reintroduce
`opened_frame' (removed in a change from 2018-08-26) to handle
dealloation of the second frame.
---
ChangeLog | 12 ++++++++++++
src/truetype/ttgload.c | 9 +++++++++
2 files changed, 21 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 17cdac2..9f80602 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2018-09-07 Werner Lemberg <address@hidden>
+
+ [truetype] Fix assertion failure.
+
+ Triggered by
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10212
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Reintroduce
+ `opened_frame' (removed in a change from 2018-08-26) to handle
+ dealloation of the second frame.
+
2018-09-05 Werner Lemberg <address@hidden>
Synchronize `ftdebug.c' files.
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index ad93c04..d54626d 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -1537,6 +1537,8 @@
TT_Face face = loader->face;
FT_GlyphLoader gloader = loader->gloader;
+ FT_Bool opened_frame = 0;
+
#ifdef FT_CONFIG_OPTION_INCREMENTAL
FT_StreamRec inc_stream;
FT_Data glyph_data;
@@ -1768,6 +1770,8 @@
if ( error )
goto Exit;
+ opened_frame = 1;
+
/* if it is a simple glyph, load it */
if ( loader->n_contours > 0 )
@@ -1778,6 +1782,7 @@
/* all data have been read */
face->forget_glyph_frame( loader );
+ opened_frame = 0;
error = TT_Process_Simple_Glyph( loader );
if ( error )
@@ -1851,6 +1856,7 @@
/* all data we need are read */
face->forget_glyph_frame( loader );
+ opened_frame = 0;
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
@@ -2105,6 +2111,9 @@
Exit:
+ if ( opened_frame )
+ face->forget_glyph_frame( loader );
+
#ifdef FT_CONFIG_OPTION_INCREMENTAL
if ( glyph_data_loaded )
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 1c04eed: [truetype] Fix assertion failure.,
Werner LEMBERG <=