summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParth Wazurkar <parthwazurkar@gmail.com>2018-08-12 22:46:38 +0530
committerParth Wazurkar <parthwazurkar@gmail.com>2018-08-12 22:46:38 +0530
commit2097c52603bf2994e6cd55312a029a36d54ac279 (patch)
treeed3d5e71c654fec3c8f583758abeb443bdad1d27
parent9c3ffded1b8c54901be3b95ac781d2cf292ceed4 (diff)
downloadfreetype2-2097c52603bf2994e6cd55312a029a36d54ac279.tar.gz
[gf] Fix invalid free operation.
* src/gf/gfdrivr.c(GF_Face_Done): Fix the free operation which caused seg fault after `gf driver' returned `not a gf file'.
-rw-r--r--src/gf/gfdrivr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gf/gfdrivr.c b/src/gf/gfdrivr.c
index 8803bc24a..ba6d505da 100644
--- a/src/gf/gfdrivr.c
+++ b/src/gf/gfdrivr.c
@@ -190,7 +190,9 @@
memory = FT_FACE_MEMORY( face );
FT_FREE( gfface->available_sizes );
- FT_FREE( face->gf_glyph->encodings );
+
+ if( face->gf_glyph )
+ FT_FREE( face->gf_glyph->encodings );
gf_free_font( face );
@@ -238,7 +240,7 @@
goto Exit;
/* we have a gf font: let's construct the face object */
- face->gf_glyph = go ;
+ face->gf_glyph = go;
/* sanity check */
if ( !face->gf_glyph->bm_table )