From 02487cc506e9f59eb7d824e30c4b8a577fd71b15 Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Tue, 17 Dec 2013 21:39:23 +0200 Subject: Fix mismatched/out-of-bounds accesses in vertical \blur --- libass/ass_bitmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c index 6dbc30c..5310481 100644 --- a/libass/ass_bitmap.c +++ b/libass/ass_bitmap.c @@ -365,13 +365,13 @@ static void ass_gauss_blur(unsigned char *buffer, unsigned *tmp2, unsigned *srcp = t + y * (width + 1) + 1; int src = *srcp; if (src) { - register unsigned *dstp = srcp - 1 + width + 1; + register unsigned *dstp = srcp - 1 - y * (width + 1); const int src2 = (src + 32768) >> 16; unsigned *m3 = m2 + src2 * mwidth; int mx; *srcp = 32768; - for (mx = r - 1; mx < mwidth; mx++) { + for (mx = r - y; mx < mwidth; mx++) { *dstp += m3[mx]; dstp += width + 1; } -- cgit v1.2.3