core: solve(): add check for passed 'method' values
authorAlexander Alekhin <alexander.alekhin@intel.com>
Fri, 13 Jul 2018 12:11:57 +0000 (15:11 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Fri, 13 Jul 2018 12:15:48 +0000 (15:15 +0300)
modules/core/src/lapack.cpp

index 2ec808a..95abe71 100644 (file)
@@ -1100,6 +1100,9 @@ bool cv::solve( InputArray _src, InputArray _src2arg, OutputArray _dst, int meth
     CV_Assert( type == _src2.type() && (type == CV_32F || type == CV_64F) );
 
     method &= ~DECOMP_NORMAL;
+    CV_Check(method, method == DECOMP_LU || method == DECOMP_SVD || method == DECOMP_EIG ||
+                     method == DECOMP_CHOLESKY || method == DECOMP_QR,
+             "Unsupported method, see #DecompTypes");
     CV_Assert( (method != DECOMP_LU && method != DECOMP_CHOLESKY) ||
         is_normal || src.rows == src.cols );