summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2009-07-22 03:24:42 +0200
committerGrigori Goronzy <greg@blackbox>2009-07-22 03:24:42 +0200
commit36cb0c6eaa0237baec7e834f0da6e94ec1153beb (patch)
tree61d94ba63f04c3933950e931fe60b89ca030cf0c
parente7f7e99c184dcb7ee1b4e09b8e498af7223e82aa (diff)
downloadlibass-36cb0c6eaa0237baec7e834f0da6e94ec1153beb.tar.bz2
libass-36cb0c6eaa0237baec7e834f0da6e94ec1153beb.tar.xz
Fix rasterizer error handling (double free)
In case rasterizing a glyph is successful, but rasterizing its outline is not, do not free the glyph bitmap. It will be freed in cache cleanup later. Freeing it earlier leads to a double free.
-rw-r--r--libass/ass_bitmap.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c
index 3642be8..3bd7c7e 100644
--- a/libass/ass_bitmap.c
+++ b/libass/ass_bitmap.c
@@ -496,7 +496,6 @@ int glyph_to_bitmap(ass_library_t *library, ass_synth_priv_t *priv_blur,
if (outline_glyph) {
*bm_o = glyph_to_bitmap_internal(library, outline_glyph, bord);
if (!*bm_o) {
- ass_free_bitmap(*bm_g);
return 1;
}
}