diff options
author | Oleg Oshmyan <chortos@inbox.lv> | 2013-12-17 21:39:23 +0200 |
---|---|---|
committer | Oleg Oshmyan <chortos@inbox.lv> | 2013-12-17 21:45:19 +0200 |
commit | 02487cc506e9f59eb7d824e30c4b8a577fd71b15 (patch) | |
tree | 30e41a5fd114b34f7aa08a84b21c9003cfdb9330 | |
parent | f226ef125da564ead8e6188c897b8ba328b47652 (diff) | |
download | libass-02487cc506e9f59eb7d824e30c4b8a577fd71b15.tar.bz2 libass-02487cc506e9f59eb7d824e30c4b8a577fd71b15.tar.xz |
Fix mismatched/out-of-bounds accesses in vertical \blur
-rw-r--r-- | libass/ass_bitmap.c | 4 |
1 files 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; } |