Skip to content

Commit 37eba84

Browse files
committed
Merge pull request opencv#19620 from mshabunin:static-analysis-issues
2 parents 7328600 + dd59761 commit 37eba84

File tree

5 files changed

+12
-15
lines changed

5 files changed

+12
-15
lines changed

modules/calib3d/src/sqpnp.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ class PoseSolver {
7272
cv::Matx<double, 9, 1> r_hat;
7373
cv::Matx<double, 3, 1> t;
7474
double sq_error;
75+
SQPSolution() : sq_error(0) {}
7576
};
7677

7778
/*

modules/dnn/src/layers/elementwise_layers.cpp

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1408,29 +1408,24 @@ struct ExpFunctor : public BaseFunctor
14081408

14091409
ExpFunctor(float base_ = -1.f, float scale_ = 1.f, float shift_ = 0.f)
14101410
: base(base_), scale(scale_), shift(shift_)
1411-
{
1412-
CV_Check(base, base == -1.f || base > 0.f, "Unsupported 'base' value");
1413-
}
1414-
1415-
bool supportBackend(int backendId, int targetId)
1416-
{
1417-
return backendId == DNN_BACKEND_OPENCV || backendId == DNN_BACKEND_CUDA ||
1418-
backendId == DNN_BACKEND_HALIDE || backendId == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH;
1419-
}
1420-
1421-
void finalize()
14221411
{
14231412
// For base > 0 :
14241413
// y = base^(scale * input + shift)
14251414
// ln(y) = ln(base)*(scale * input + shift)
14261415
// y = exp((ln(base)*scale) * input + (ln(base)*shift))
14271416
// y = exp(normalized_scale * input + normalized_shift)
1428-
1429-
float ln_base = (base == -1.f) ? 1.f : log(base);
1417+
CV_Check(base, base == -1.f || base > 0.f, "Unsupported 'base' value");
1418+
const float ln_base = (base == -1.f) ? 1.f : log(base);
14301419
normScale = scale * ln_base;
14311420
normShift = shift * ln_base;
14321421
}
14331422

1423+
bool supportBackend(int backendId, int targetId)
1424+
{
1425+
return backendId == DNN_BACKEND_OPENCV || backendId == DNN_BACKEND_CUDA ||
1426+
backendId == DNN_BACKEND_HALIDE || backendId == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH;
1427+
}
1428+
14341429
void apply(const float* srcptr, float* dstptr, int len, size_t planeSize, int cn0, int cn1) const
14351430
{
14361431
float a = normScale, b = normShift;

modules/dnn/src/layers/pooling_layer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,7 @@ class PoolingLayerImpl CV_FINAL : public PoolingLayer
917917
if (max_elem!=last)
918918
{
919919
dstData[x0] = *max_elem;
920-
if( compMaxIdx )
920+
if( compMaxIdx && dstMaskData )
921921
{
922922
dstMaskData[x0] = std::distance(first, max_elem);
923923
}

modules/dnn/src/model.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1213,6 +1213,7 @@ struct TextDetectionModel_DB_Impl : public TextDetectionModel_Impl
12131213
{
12141214
double area = contourArea(inPoly);
12151215
double length = arcLength(inPoly, true);
1216+
CV_Assert(length > FLT_EPSILON);
12161217
double distance = area * unclipRatio / length;
12171218

12181219
size_t numPoints = inPoly.size();

modules/videoio/src/cap_msmf.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ class SourceReaderCB : public IMFSourceReaderCallback
314314
{
315315
public:
316316
SourceReaderCB() :
317-
m_nRefCount(0), m_hEvent(CreateEvent(NULL, FALSE, FALSE, NULL)), m_bEOS(FALSE), m_hrStatus(S_OK), m_reader(NULL), m_dwStreamIndex(0)
317+
m_nRefCount(0), m_hEvent(CreateEvent(NULL, FALSE, FALSE, NULL)), m_bEOS(FALSE), m_hrStatus(S_OK), m_reader(NULL), m_dwStreamIndex(0), m_lastSampleTimestamp(0)
318318
{
319319
}
320320

0 commit comments

Comments
 (0)