OSDN Git Service

swscale/utils: add asserts to check filterpos
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 23 Feb 2015 23:35:11 +0000 (00:35 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2015 00:00:24 +0000 (01:00 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libswscale/utils.c

index b63ab19..cfa6b21 100644 (file)
@@ -631,6 +631,13 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos,
             (*filterPos)[i]-= shift;
             filter[i * filterSize + srcW - 1 - (*filterPos)[i]] += acc;
         }
+        av_assert0((*filterPos)[i] >= 0);
+        av_assert0((*filterPos)[i] < srcW);
+        if ((*filterPos)[i] + filterSize > srcW) {
+            for (j = 0; j < filterSize; j++) {
+                av_assert0((*filterPos)[i] + j < srcW || !filter[i * filterSize + j]);
+            }
+        }
     }
 
     // Note the +1 is for the MMX scaler which reads over the end