From 8f9ee845798c4f2f32ab1ca40985048a3c4bf7d1 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Fri, 12 Apr 2024 15:43:50 +0200 Subject: [PATCH] System: Firmware - check type before calculating, in some cases pkg seems to communicate "Unknown" if it doesn't know the size, which will break the output and prevents further updates via the gui. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Example output collected:             {                 "name": "base",                 "size": "Unknown",                 "repository": "OPNsense",                 "current_version": "23.7.4",                 "new_version": "23.7.10"             }, --- .../app/controllers/OPNsense/Core/Api/FirmwareController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php index a634023fa..82dab100f 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php @@ -132,7 +132,7 @@ class FirmwareController extends ApiMutableModelControllerBase if (!empty($response['upgrade_packages'])) { foreach ($response['upgrade_packages'] as $listing) { if (!empty($listing['size'])) { - $update_size += $listing['size']; + $update_size += is_numeric($listing['size']) ? $listing['size'] : 0; } } } @@ -243,7 +243,7 @@ class FirmwareController extends ApiMutableModelControllerBase if (isset($response['upgrade_sets'])) { foreach ($response['upgrade_sets'] as $value) { if (!empty($value['size'])) { - $upgrade_size += $value['size']; + $upgrade_size += is_numeric($value['size']) ? $value['size'] : 0; } $sorted[$value['name']] = array( 'reason' => gettext('upgrade'),