core: added inplace check in 'divSpectrums'
authorAlexander Alekhin <alexander.alekhin@intel.com>
Wed, 7 Dec 2016 16:59:16 +0000 (19:59 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Wed, 7 Dec 2016 16:59:16 +0000 (19:59 +0300)
modules/imgproc/src/phasecorr.cpp

index 87e4d30..48d19fa 100644 (file)
@@ -167,6 +167,9 @@ static void divSpectrums( InputArray _srcA, InputArray _srcB, OutputArray _dst,
     _dst.create( srcA.rows, srcA.cols, type );
     Mat dst = _dst.getMat();
 
+    CV_Assert(dst.data != srcA.data); // non-inplace check
+    CV_Assert(dst.data != srcB.data); // non-inplace check
+
     bool is_1d = (flags & DFT_ROWS) || (rows == 1 || (cols == 1 &&
              srcA.isContinuous() && srcB.isContinuous() && dst.isContinuous()));