diff options
author | Werner Lemberg <wl@gnu.org> | 2006-06-08 07:32:56 +0000 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2006-06-08 07:32:56 +0000 |
commit | b10e45a7fb34f78f79ffb17c9db282e8ce7a4918 (patch) | |
tree | 7b078213ba555e81fec3e5414b8188f4cff8edfb | |
parent | 7d48cb06b4c1dbb30d62193c34aee6659851d110 (diff) | |
download | freetype2-b10e45a7fb34f78f79ffb17c9db282e8ce7a4918.tar.gz |
* src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
errors.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/bdf/bdflib.c | 13 |
2 files changed, 16 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2006-06-08 Werner Lemberg <wl@gnu.org> + + * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of + errors. + 2006-06-07 David Turner <david@freetype.org> * 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; } |