diff options
author | Dr.Smile <vabnick@gmail.com> | 2018-12-02 23:37:12 +0300 |
---|---|---|
committer | Dr.Smile <vabnick@gmail.com> | 2019-05-19 20:25:09 +0300 |
commit | 13f5a18f2b6b7c384d2801beecd6d5c29c164ef1 (patch) | |
tree | 10c665c7548f83d1383b2603f8c29fbe23a934a6 /libass/ass_render.c | |
parent | 7e7182a0b397243f2c4a8fa42a5a057c82452a73 (diff) | |
download | libass-13f5a18f2b6b7c384d2801beecd6d5c29c164ef1.tar.bz2 libass-13f5a18f2b6b7c384d2801beecd6d5c29c164ef1.tar.xz |
renderer: fix potential memory leak
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r-- | libass/ass_render.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index dbfa00b..8e5014e 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -1187,8 +1187,10 @@ transform_3d(ASS_Vector shift, ASS_Outline *outline, int n_outlines, static void get_bitmap_glyph(ASS_Renderer *render_priv, GlyphInfo *info) { - if (!info->outline || info->symbol == '\n' || info->symbol == 0 || info->skip) + if (!info->outline || info->symbol == '\n' || info->symbol == 0 || info->skip) { + ass_cache_dec_ref(info->hash_key.u.outline.outline); return; + } BitmapHashValue *val = ass_cache_get(render_priv->cache.bitmap_cache, &info->hash_key, render_priv); if (!val || !val->valid) |