summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libass/ass_bitmap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c
index 609404f..d1ba819 100644
--- a/libass/ass_bitmap.c
+++ b/libass/ass_bitmap.c
@@ -126,7 +126,8 @@ static bool resize_tmp(ASS_SynthPriv *priv, int w, int h)
{
if (w >= INT_MAX || (w + 1) > SIZE_MAX / 2 / sizeof(unsigned) / FFMAX(h, 1))
return false;
- size_t needed = sizeof(unsigned) * (w + 1) * h;
+ size_t needed = FFMAX(sizeof(unsigned) * (w + 1) * h,
+ sizeof(uint16_t) * ass_align(32, w) * 2);
if (priv->tmp && priv->tmp_allocated >= needed)
return true;