core(stat): disable IPP optimization in meanStdDev (cn > 1)
authorAlexander Alekhin <alexander.alekhin@intel.com>
Mon, 31 Jul 2017 11:04:56 +0000 (14:04 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Mon, 31 Jul 2017 11:09:18 +0000 (14:09 +0300)
modules/core/src/stat.cpp

index 13d8c21..8018169 100644 (file)
@@ -1739,6 +1739,13 @@ static bool ipp_meanStdDev(Mat& src, OutputArray _mean, OutputArray _sdv, Mat& m
 
 #if IPP_VERSION_X100 >= 700
     int cn = src.channels();
+
+#if IPP_VERSION_X100 < 201801
+    // IPP_DISABLE: C3C functions can read outside of allocated memory
+    if (cn > 1)
+        return false;
+#endif
+
     size_t total_size = src.total();
     int rows = src.size[0], cols = rows ? (int)(total_size/rows) : 0;
     if( src.dims == 2 || (src.isContinuous() && mask.isContinuous() && cols > 0 && (size_t)rows*cols == total_size) )