ffmpeg | branch: master | Paul B Mahol <[email protected]> | Wed Apr 13 10:20:59 
2022 +0200| [9a22c6508a413f62080801c2d08b24d064719fcb] | committer: Paul B Mahol

avfilter/vf_deblock: fix posible overreads

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9a22c6508a413f62080801c2d08b24d064719fcb
---

 libavfilter/vf_deblock.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vf_deblock.c b/libavfilter/vf_deblock.c
index b7c6a03d4a..770fce0eab 100644
--- a/libavfilter/vf_deblock.c
+++ b/libavfilter/vf_deblock.c
@@ -337,7 +337,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
             s->deblockv(dst + x * s->bpc, out->linesize[plane],
                         FFMIN(block, height), s->ath, s->bth, s->gth, s->dth, 
s->max);
 
-        for (y = block; y < height; y += block) {
+        for (y = block; y < height - block; y += block) {
             dst += out->linesize[plane] * block;
 
             s->deblockh(dst, out->linesize[plane],
@@ -353,6 +353,12 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
                             s->ath, s->bth, s->gth, s->dth, s->max);
             }
         }
+
+        dst += out->linesize[plane] * block;
+        for (x = block; x < width; x += block)
+            s->deblockv(dst + x * s->bpc, out->linesize[plane],
+                        FFMIN(block, height - y), s->ath, s->bth, s->gth, 
s->dth, s->max);
+
     }
 
     if (in != out)

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to