diff --git a/modules/features2d/src/kaze/AKAZEFeatures.cpp b/modules/features2d/src/kaze/AKAZEFeatures.cpp index 9b0d8311b06daa992b8dec552a57501ec6b913f8..89cf66bc240c6ddbc0990497ad868cc6151b6cf9 100644 --- a/modules/features2d/src/kaze/AKAZEFeatures.cpp +++ b/modules/features2d/src/kaze/AKAZEFeatures.cpp @@ -1323,6 +1323,7 @@ void quantized_counting_sort(const float a[], const int n, const float quantum, const int nkeys, int idx[/*n*/], int cum[/*nkeys + 1*/]) { + CV_Assert(nkeys > 0); memset(cum, 0, sizeof(cum[0]) * (nkeys + 1)); // Count up the quantized values diff --git a/modules/objdetect/src/qrcode.cpp b/modules/objdetect/src/qrcode.cpp index f99a46c92207b306778453f68d1cf62495b6ec32..4990dfd388ceb3144a771881d07762afe3423fdd 100644 --- a/modules/objdetect/src/qrcode.cpp +++ b/modules/objdetect/src/qrcode.cpp @@ -1608,6 +1608,8 @@ bool QRDetectMulti::checkPoints(const vector& quadrangle_points) li2++; } } + if (count_w == 0) + return false; double frac = double(count_b) / double(count_w); double bottom_bound = 0.76;