]> git.sesse.net Git - ffmpeg/commitdiff
avfilter/vf_edgedetect: check if height is big enough
authorPaul B Mahol <onemda@gmail.com>
Sun, 13 Oct 2019 15:23:10 +0000 (17:23 +0200)
committerPaul B Mahol <onemda@gmail.com>
Sun, 13 Oct 2019 15:24:09 +0000 (17:24 +0200)
Fixes #8260

libavfilter/vf_edgedetect.c

index a0ddcbbf5c69c6b68a9faab3f516f10b67211323..11a31fa4ff9e0e6cbe8c40c87c9bc0920905371f 100644 (file)
@@ -150,7 +150,8 @@ static void gaussian_blur(AVFilterContext *ctx, int w, int h,
     int i, j;
 
     memcpy(dst, src, w); dst += dst_linesize; src += src_linesize;
-    memcpy(dst, src, w); dst += dst_linesize; src += src_linesize;
+    if (h > 1)
+        memcpy(dst, src, w); dst += dst_linesize; src += src_linesize;
     for (j = 2; j < h - 2; j++) {
         dst[0] = src[0];
         dst[1] = src[1];
@@ -180,8 +181,10 @@ static void gaussian_blur(AVFilterContext *ctx, int w, int h,
         dst += dst_linesize;
         src += src_linesize;
     }
-    memcpy(dst, src, w); dst += dst_linesize; src += src_linesize;
-    memcpy(dst, src, w);
+    if (h > 2)
+        memcpy(dst, src, w); dst += dst_linesize; src += src_linesize;
+    if (h > 3)
+        memcpy(dst, src, w);
 }
 
 enum {