Skip to content

Commit 740f662

Browse files
committed
Merge pull request opencv#17419 from YourButterfly:fix_divide_zero_in_darknet_3_4
2 parents 73fdf75 + f7daa9e commit 740f662

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

modules/dnn/src/darknet/darknet_io.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,8 @@ namespace cv {
658658
if (pad)
659659
padding = kernel_size / 2;
660660

661+
// Cannot divide 0
662+
CV_Assert(stride > 0);
661663
CV_Assert(kernel_size > 0 && filters > 0);
662664
CV_Assert(tensor_shape[0] > 0);
663665
CV_Assert(tensor_shape[0] % groups == 0);
@@ -690,6 +692,9 @@ namespace cv {
690692
int kernel_size = getParam<int>(layer_params, "size", 2);
691693
int stride = getParam<int>(layer_params, "stride", 2);
692694
int padding = getParam<int>(layer_params, "padding", kernel_size - 1);
695+
// Cannot divide 0
696+
CV_Assert(stride > 0);
697+
693698
setParams.setMaxpool(kernel_size, padding, stride);
694699

695700
tensor_shape[1] = (tensor_shape[1] - kernel_size + padding) / stride + 1;
@@ -732,6 +737,8 @@ namespace cv {
732737
else if (layer_type == "reorg")
733738
{
734739
int stride = getParam<int>(layer_params, "stride", 2);
740+
// Cannot divide 0
741+
CV_Assert(stride > 0);
735742
tensor_shape[0] = tensor_shape[0] * (stride * stride);
736743
tensor_shape[1] = tensor_shape[1] / stride;
737744
tensor_shape[2] = tensor_shape[2] / stride;

0 commit comments

Comments
 (0)