From 2a6f4c3444a1612ac2cd70c134b1248e2b91f8c5 Mon Sep 17 00:00:00 2001 From: eugeni Date: Mon, 10 Jul 2006 23:57:17 +0000 Subject: Ignoring FT_Glyph_Stroke() errors can potentially lead to double free(). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19007 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libass/ass_render.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libass') diff --git a/libass/ass_render.c b/libass/ass_render.c index 1723394830..a34b653878 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -1120,7 +1120,11 @@ static int get_glyph(int index, int symbol, glyph_info_t* info, FT_Vector* advan info->advance.y = info->glyph->advance.y >> 10; info->outline_glyph = info->glyph; - FT_Glyph_Stroke( &(info->outline_glyph), render_context.stroker, 0 ); // don't destroy original + error = FT_Glyph_Stroke( &(info->outline_glyph), render_context.stroker, 0 ); // don't destroy original + if (error) { + mp_msg(MSGT_GLOBAL, MSGL_WARN, "FT_Glyph_Stroke error %d \n", error); + FT_Glyph_Copy(info->glyph, &info->outline_glyph); + } info->bitmap = 0; // outline glyph -- cgit v1.2.3