deinterlace: Fix invalid read in yadif
authorVivia Nikolaidou <vivia@ahiru.eu>
Fri, 12 Jun 2020 10:21:02 +0000 (13:21 +0300)
committerVivia Nikolaidou <vivia@ahiru.eu>
Fri, 12 Jun 2020 10:21:02 +0000 (13:21 +0300)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621>

gst/deinterlace/yadif.c

index 160e9ac..8f6143b 100644 (file)
@@ -223,7 +223,7 @@ filter_edges (guint8 * dst,
     const int colors, int y_alternates_every)
 {
   int x;
-  const int edge = colors * (MAX_ALIGN / bpp - 1);
+  const int edge = colors * (MAX_ALIGN / bpp);
   const int border = 3 * colors;
 
   /* Only edge pixels need to be processed here.  A constant value of false
@@ -283,7 +283,7 @@ filter_scanline_yadif (GstDeinterlaceSimpleMethod * self,
   guint8 *dst = out;
   const int bpp = 1;            // Hard code 8-bit atm
   int w = size / bpp;
-  int edge = colors * MAX_ALIGN / bpp - 1;
+  int edge = colors * MAX_ALIGN / bpp;
   GstDeinterlaceScanlineData s = *s_orig;
 
   int mode = (s.tt1 == NULL || s.bb1 == NULL || s.ttp == NULL