[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 3c58206: * src/type1/t1afm.c (T1_Read_Metrics): Fix m
From: |
Werner LEMBERG |
Subject: |
[freetype2] master 3c58206: * src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229). |
Date: |
Tue, 20 Oct 2015 04:57:51 +0000 |
branch: master
commit 3c582060b28f7d51b6d138130b052e8368c0cd36
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
* src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229).
---
ChangeLog | 6 +++++-
src/type1/t1afm.c | 14 +++++++++++---
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 19c2a8d..3ea8ecd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,8 @@
-2015-10-18 Bungeman <address@hidden>
+2015-10-20 Werner Lemberg <address@hidden>
+
+ * src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229).
+
+2015-10-19 Bungeman <address@hidden>
[cid] Better handle invalid glyph stream offsets (#46221).
diff --git a/src/type1/t1afm.c b/src/type1/t1afm.c
index 7f32059..7a7bf82 100644
--- a/src/type1/t1afm.c
+++ b/src/type1/t1afm.c
@@ -239,9 +239,17 @@
AFM_ParserRec parser;
AFM_FontInfo fi = NULL;
FT_Error error = FT_ERR( Unknown_File_Format );
- T1_Font t1_font = &( (T1_Face)t1_face )->type1;
+ T1_Face face = (T1_Face)t1_face;
+ T1_Font t1_font = &face->type1;
+ if ( face->afm_data )
+ {
+ FT_TRACE1(( "T1_Read_Metrics:"
+ " Freeing previously attached metrics data.\n" ));
+ T1_Done_Metrics( memory, (AFM_FontInfo)face->afm_data );
+ }
+
if ( FT_NEW( fi ) ||
FT_FRAME_ENTER( stream->size ) )
goto Exit;
@@ -250,7 +258,7 @@
fi->Ascender = t1_font->font_bbox.yMax;
fi->Descender = t1_font->font_bbox.yMin;
- psaux = (PSAux_Service)( (T1_Face)t1_face )->psaux;
+ psaux = (PSAux_Service)face->psaux;
if ( psaux->afm_parser_funcs )
{
error = psaux->afm_parser_funcs->init( &parser,
@@ -298,7 +306,7 @@
if ( fi->NumKernPair )
{
t1_face->face_flags |= FT_FACE_FLAG_KERNING;
- ( (T1_Face)t1_face )->afm_data = fi;
+ face->afm_data = fi;
fi = NULL;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 3c58206: * src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229).,
Werner LEMBERG <=