From f037d6e6887e1da85f8622ac407edff53ef44f79 Mon Sep 17 00:00:00 2001 From: camer0n Date: Wed, 1 Nov 2023 10:43:54 -0700 Subject: [PATCH] Issue #5079 - Avoid division by zero. --- e107_handlers/form_handler.php | 2 +- e107_tests/tests/unit/e_formTest.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index db1681fb3..e72884b89 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -2320,7 +2320,7 @@ class e_form // $multiplier = 100 / (int) $denom; - $value = ((int) $score / (int) $denom) * 100; + $value = !empty($denom) ? ((int) $score / (int) $denom) * 100 : 0; // $value = (int) $score * (int) $multiplier; $percVal = round((float) $value).'%'; diff --git a/e107_tests/tests/unit/e_formTest.php b/e107_tests/tests/unit/e_formTest.php index 6484f3352..f40e090b2 100644 --- a/e107_tests/tests/unit/e_formTest.php +++ b/e107_tests/tests/unit/e_formTest.php @@ -493,6 +493,7 @@ class e_formTest extends \Codeception\Test\Unit 3 => array('value' => '30%', 'expected' => 'width: 30%'), 4 => array('value' => '30.4%', 'expected' => 'width: 30%'), 5 => array('value' => '30.5%', 'expected' => 'width: 31%'), + 6 => array('value' => '0/0', 'expected' => 'width: 0%'), ); foreach($tests as $var)