diff --git a/modules/dnn/src/onnx/onnx_importer.cpp b/modules/dnn/src/onnx/onnx_importer.cpp index 052b1b8529..df404a93d3 100644 --- a/modules/dnn/src/onnx/onnx_importer.cpp +++ b/modules/dnn/src/onnx/onnx_importer.cpp @@ -1821,7 +1821,9 @@ void ONNXImporter::parseUnsqueeze(LayerParams& layerParams, const opencv_onnx::N } CV_Assert(axes.getIntValue(axes.size()-1) <= dims.size()); for (int j = 0; j < axes.size(); j++) { - dims.insert(dims.begin() + axes.getIntValue(j), 1); + const int idx = axes.getIntValue(j); + CV_Assert(idx <= dims.size()); + dims.insert(dims.begin() + idx, 1); } Mat out = input.reshape(0, dims); diff --git a/modules/objdetect/src/qrcode_encoder.cpp b/modules/objdetect/src/qrcode_encoder.cpp index ae15c64f42..2b363b607d 100644 --- a/modules/objdetect/src/qrcode_encoder.cpp +++ b/modules/objdetect/src/qrcode_encoder.cpp @@ -881,6 +881,8 @@ void QRCodeEncoderImpl::findAutoMaskType() total_modules += 1; } } + if (total_modules == 0) + continue; // TODO: refactor, extract functions to reduce complexity int modules_percent = dark_modules * 100 / total_modules; int lower_bound = 45; int upper_bound = 55;