[FFmpeg-cvslog] avfilter/vf_unsharp: check if scalebits is too high

Paul B Mahol git at videolan.org
Sat Sep 17 14:58:27 EEST 2016


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sat Sep 17 13:47:17 2016 +0200| [d790887d1c6ec00d563aedc2f243712815594654] | committer: Paul B Mahol

avfilter/vf_unsharp: check if scalebits is too high

Otherwise filter would happily give overflows and produce useless output.

Signed-off-by: Paul B Mahol <onemda at gmail.com>

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

 libavfilter/vf_unsharp.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c
index d264e24..aea9850 100644
--- a/libavfilter/vf_unsharp.c
+++ b/libavfilter/vf_unsharp.c
@@ -141,6 +141,10 @@ static av_cold int init(AVFilterContext *ctx)
     set_filter_param(&s->luma,   s->lmsize_x, s->lmsize_y, s->lamount);
     set_filter_param(&s->chroma, s->cmsize_x, s->cmsize_y, s->camount);
 
+    if (s->luma.scalebits >= 26 || s->chroma.scalebits >= 26) {
+        av_log(ctx, AV_LOG_ERROR, "luma or chroma matrix size too big\n");
+        return AVERROR(EINVAL);
+    }
     s->apply_unsharp = apply_unsharp_c;
     if (!CONFIG_OPENCL && s->opencl) {
         av_log(ctx, AV_LOG_ERROR, "OpenCL support was not enabled in this build, cannot be selected\n");



More information about the ffmpeg-cvslog mailing list