From b10e45a7fb34f78f79ffb17c9db282e8ce7a4918 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Thu, 8 Jun 2006 07:32:56 +0000 Subject: [PATCH] * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of errors. --- ChangeLog | 5 +++++ src/bdf/bdflib.c | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 76c5a6731..0395297f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-06-08 Werner Lemberg + + * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of + errors. + 2006-06-07 David Turner * src/type1/t1afm.c (KERN_INDEX): Make it more robust. diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c index 3c928e563..6b7503500 100644 --- a/src/bdf/bdflib.c +++ b/src/bdf/bdflib.c @@ -2224,7 +2224,7 @@ error = _bdf_readstream( stream, _bdf_parse_start, (void *)p, &lineno ); if ( error ) - goto Exit; + goto Fail; if ( p->font != 0 ) { @@ -2316,7 +2316,7 @@ if ( FT_RENEW_ARRAY( p->font->comments, p->font->comments_len, p->font->comments_len + 1 ) ) - goto Exit; + goto Fail; p->font->comments[p->font->comments_len] = 0; } @@ -2337,6 +2337,15 @@ } return error; + + Fail: + bdf_free_font( p->font ); + + memory = extmemory; + + FT_FREE( p->font ); + + goto Exit; }