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; }