diff --git a/modules/calib3d/src/calibration.cpp b/modules/calib3d/src/calibration.cpp index d24bc90d1b..6640b261f5 100644 --- a/modules/calib3d/src/calibration.cpp +++ b/modules/calib3d/src/calibration.cpp @@ -2324,6 +2324,8 @@ void cvStereoRectify( const CvMat* _cameraMatrix1, const CvMat* _cameraMatrix2, double c = _t[idx], nt = cvNorm(&t, 0, CV_L2); _uu[idx] = c > 0 ? 1 : -1; + CV_Assert(nt > 0.0); + // calculate global Z rotation cvCrossProduct(&t,&uu,&ww); double nw = cvNorm(&ww, 0, CV_L2); diff --git a/modules/dnn/src/layers/batch_norm_layer.cpp b/modules/dnn/src/layers/batch_norm_layer.cpp index a40260884d..791d8f1e0b 100644 --- a/modules/dnn/src/layers/batch_norm_layer.cpp +++ b/modules/dnn/src/layers/batch_norm_layer.cpp @@ -33,6 +33,7 @@ public: BatchNormLayerImpl(const LayerParams& params) + : dims(-1) { setParamsFrom(params); CV_Assert(blobs.size() >= 2); diff --git a/modules/dnn/src/layers/mvn_layer.cpp b/modules/dnn/src/layers/mvn_layer.cpp index c2d67096a3..126c86d983 100644 --- a/modules/dnn/src/layers/mvn_layer.cpp +++ b/modules/dnn/src/layers/mvn_layer.cpp @@ -147,6 +147,7 @@ public: UMat &inpMat = inputs[inpIdx]; UMat &outMat = outputs[inpIdx]; int newRows = total(shape(inpMat), 0, splitDim); + CV_Assert(newRows != 0); MatShape s = shape(newRows, inpMat.total() / newRows); UMat meanMat = UMat(s[0], 1, (use_half) ? CV_16S : CV_32F); @@ -221,6 +222,7 @@ public: UMat &inpMat = inputs[inpIdx]; UMat &outMat = outputs[inpIdx]; int newRows = total(shape(inpMat), 0, splitDim); + CV_Assert(newRows != 0); MatShape s = shape(newRows, inpMat.total() / newRows); UMat oneMat = UMat::ones(s[1], 1, CV_32F); diff --git a/modules/dnn/src/layers/reshape_layer.cpp b/modules/dnn/src/layers/reshape_layer.cpp index 2b57a734a0..5cbfc03e59 100644 --- a/modules/dnn/src/layers/reshape_layer.cpp +++ b/modules/dnn/src/layers/reshape_layer.cpp @@ -138,6 +138,7 @@ static void computeShapeByReshapeMask(const MatShape &srcShape, size_t srcTotal = total(srcShape); size_t dstTotal = total(dstShape); + CV_Assert(dstTotal != 0); if (inferDim != -1) { diff --git a/modules/dnn/src/onnx/onnx_importer.cpp b/modules/dnn/src/onnx/onnx_importer.cpp index fb98778929..696588c83a 100644 --- a/modules/dnn/src/onnx/onnx_importer.cpp +++ b/modules/dnn/src/onnx/onnx_importer.cpp @@ -162,6 +162,8 @@ void runLayer(LayerParams& params, const std::vector& inputs, std::vector& outputs) { Ptr layer = LayerFactory::createLayerInstance(params.type, params); + CV_Assert((bool)layer); + std::vector inpShapes(inputs.size()); int ddepth = CV_32F; for (size_t i = 0; i < inputs.size(); ++i) diff --git a/modules/videoio/src/cap_mfx_writer.cpp b/modules/videoio/src/cap_mfx_writer.cpp index ed3c30ad08..8a93fc7e53 100644 --- a/modules/videoio/src/cap_mfx_writer.cpp +++ b/modules/videoio/src/cap_mfx_writer.cpp @@ -30,7 +30,7 @@ inline mfxU32 codecIdByFourCC(int fourcc) } VideoWriter_IntelMFX::VideoWriter_IntelMFX(const String &filename, int _fourcc, double fps, Size frameSize_, bool) - : session(0), plugin(0), deviceHandler(0), bs(0), encoder(0), pool(0), frameSize(frameSize_), good(false) + : session(0), plugin(0), deviceHandler(0), bs(0), encoder(0), pool(0), outSurface(NULL), frameSize(frameSize_), good(false) { mfxStatus res = MFX_ERR_NONE;