diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-05-09 21:38:28 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-05-09 21:38:28 +0000 |
commit | d5ede6cbe1f2ac9fa569fa19228bc35ab02f5d58 (patch) | |
tree | c66f69a006179029ad122681cc0025c868e562af /libass/ass.c | |
parent | cd9e74e8eab007045b5ec19168ce52c04cb3fb1e (diff) | |
download | libass-d5ede6cbe1f2ac9fa569fa19228bc35ab02f5d58.tar.bz2 libass-d5ede6cbe1f2ac9fa569fa19228bc35ab02f5d58.tar.xz |
Don't deallocate font data if it will be used later.
It produced either segfault or "Error opening memory font" with any script
that contains embedded fonts.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23282 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass/ass.c')
-rw-r--r-- | libass/ass.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libass/ass.c b/libass/ass.c index 546e4179..f5e032c6 100644 --- a/libass/ass.c +++ b/libass/ass.c @@ -572,8 +572,10 @@ static int decode_font(ass_track_t* track) dsize = q - buf; assert(dsize <= size / 4 * 3 + 2); - if (track->library->extract_fonts) + if (track->library->extract_fonts) { ass_add_font(track->library, track->parser_priv->fontname, (char*)buf, dsize); + buf = 0; + } error_decode_font: if (buf) free(buf); |