[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 97cd126: * src/cid/cidgload.c (cid_slot_load_glyph):
From: |
Werner LEMBERG |
Subject: |
[freetype2] master 97cd126: * src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak. |
Date: |
Thu, 28 Sep 2017 02:29:53 -0400 (EDT) |
branch: master
commit 97cd12657daf11fea4aee85c94716e3663f94fc8
Author: Ewald Hew <address@hidden>
Commit: Werner Lemberg <address@hidden>
* src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3489
---
ChangeLog | 8 ++++++++
src/cid/cidgload.c | 9 +++++++++
2 files changed, 17 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index c1a9b32..9d0bbbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2017-09-28 Ewald Hew <address@hidden>
+
+ * src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3489
+
2017-09-28 Alexei Podtelezhnikov <address@hidden>
Bitmap metrics presetting [1/2].
diff --git a/src/cid/cidgload.c b/src/cid/cidgload.c
index e8a2be3..f0b4988 100644
--- a/src/cid/cidgload.c
+++ b/src/cid/cidgload.c
@@ -335,6 +335,7 @@
PSAux_Service psaux = (PSAux_Service)face->psaux;
FT_Matrix font_matrix;
FT_Vector font_offset;
+ FT_Bool must_finish_decoder = FALSE;
if ( glyph_index >= (FT_UInt)face->root.num_glyphs )
@@ -375,6 +376,8 @@
/* TODO: initialize decoder.len_buildchar and decoder.buildchar */
/* if we ever support CID-keyed multiple master fonts */
+ must_finish_decoder = TRUE;
+
/* set up the decoder */
decoder.builder.no_recurse = FT_BOOL(
( ( load_flags & FT_LOAD_NO_RECURSE ) != 0 ) );
@@ -393,6 +396,8 @@
/* save new glyph tables */
psaux->t1_decoder_funcs->done( &decoder );
+ must_finish_decoder = FALSE;
+
/* now set the metrics -- this is rather simple, as */
/* the left side bearing is the xMin, and the top side */
/* bearing the yMax */
@@ -501,6 +506,10 @@
}
Exit:
+
+ if ( must_finish_decoder )
+ psaux->t1_decoder_funcs->done( &decoder );
+
return error;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 97cd126: * src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.,
Werner LEMBERG <=