diff options
author | Parth Wazurkar <parthwazurkar@gmail.com> | 2018-08-12 22:46:38 +0530 |
---|---|---|
committer | Parth Wazurkar <parthwazurkar@gmail.com> | 2018-08-12 22:46:38 +0530 |
commit | 2097c52603bf2994e6cd55312a029a36d54ac279 (patch) | |
tree | ed3d5e71c654fec3c8f583758abeb443bdad1d27 | |
parent | 9c3ffded1b8c54901be3b95ac781d2cf292ceed4 (diff) | |
download | freetype2-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.c | 6 |
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 ) |