From bc08704ecc9ccceae4f23a17e6bf43faa2a3b637 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Mon, 1 Apr 2024 08:19:57 -0400 Subject: [PATCH] [Bug] Divide by zero (#1340) --- app/Helpers/Number.php | 8 ++++++++ app/helpers.php | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/app/Helpers/Number.php b/app/Helpers/Number.php index 4ad6fc51..c565eebe 100644 --- a/app/Helpers/Number.php +++ b/app/Helpers/Number.php @@ -35,6 +35,10 @@ class Number extends SupportNumber { $units = ['B', 'Kb', 'Mb', 'Gb', 'Tb', 'Pb', 'Eb', 'Zb', 'Yb']; + if ($bits === 0) { + return '0 B'; + } + for ($i = 0; ($bits / 1000) > 0.99 && ($i < count($units) - 1); $i++) { $bits /= 1000; } @@ -51,6 +55,10 @@ class Number extends SupportNumber { $units = ['Bps', 'Kbps', 'Mbps', 'Gbps', 'Tbps', 'Pbps', 'Ebps', 'Zbps', 'Ybps']; + if ($bits === 0) { + return '0 B'; + } + for ($i = 0; ($bits / 1000) > 0.99 && ($i < count($units) - 1); $i++) { $bits /= 1000; } diff --git a/app/helpers.php b/app/helpers.php index 8684022c..b70141cb 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -27,6 +27,10 @@ if (! function_exists('toBits')) { if (! function_exists('percentChange')) { function percentChange(float $dividend, float $divisor, int $precision = 0): string { + if ($dividend === 0 || $divisor === 0) { + return 0; + } + $quotient = ($dividend - $divisor) / $divisor; return number_format(round($quotient * 100, $precision), $precision);