summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authorDr.Smile <vabnick@gmail.com>2018-12-02 23:37:12 +0300
committerDr.Smile <vabnick@gmail.com>2019-05-19 20:25:09 +0300
commit13f5a18f2b6b7c384d2801beecd6d5c29c164ef1 (patch)
tree10c665c7548f83d1383b2603f8c29fbe23a934a6 /libass
parent7e7182a0b397243f2c4a8fa42a5a057c82452a73 (diff)
downloadlibass-13f5a18f2b6b7c384d2801beecd6d5c29c164ef1.tar.bz2
libass-13f5a18f2b6b7c384d2801beecd6d5c29c164ef1.tar.xz
renderer: fix potential memory leak
Diffstat (limited to 'libass')
-rw-r--r--libass/ass_render.c4
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)