Add validity checks for the unsharp filter.
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Fri, 8 Oct 2010 23:36:35 +0000 (23:36 +0000)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Fri, 8 Oct 2010 23:36:35 +0000 (23:36 +0000)
Prevent crash.

Originally committed as revision 25419 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavfilter/vf_unsharp.c

index fa62275..e7bf953 100644 (file)
@@ -133,6 +133,13 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
         sscanf(args, "%d:%d:%lf:%d:%d:%lf", &lmsize_x, &lmsize_y, &lamount,
                                             &cmsize_x, &cmsize_y, &camount);
 
+    if (lmsize_x < 2 || lmsize_y < 2 || cmsize_x < 2 || cmsize_y < 2) {
+        av_log(ctx, AV_LOG_ERROR,
+               "Invalid value <2 for lmsize_x:%d or lmsize_y:%d or cmsize_x:%d or cmsize_y:%d\n",
+               lmsize_x, lmsize_y, cmsize_x, cmsize_y);
+        return AVERROR(EINVAL);
+    }
+
     set_filter_param(&unsharp->luma,   lmsize_x, lmsize_y, lamount);
     set_filter_param(&unsharp->chroma, cmsize_x, cmsize_y, camount);