From e6ef56170e254de4284d0cbcf339ad59270dd02f Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Mon, 27 Jan 2025 11:13:53 +0100 Subject: [PATCH] firmware: fix "r" abbreviation vs. version_compare(); closes #8244 --- src/opnsense/scripts/firmware/latest.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/opnsense/scripts/firmware/latest.php b/src/opnsense/scripts/firmware/latest.php index 58bd4aec2..b5c5782ac 100755 --- a/src/opnsense/scripts/firmware/latest.php +++ b/src/opnsense/scripts/firmware/latest.php @@ -2,7 +2,7 @@ + * Copyright (c) 2021-2025 Franco Fichtner * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,9 +35,11 @@ list ($series, $version) = explode(' ', shell_safe('opnsense-version -Vv')); $version = explode('_', $version)[0]; if (empty($argv[1]) && ($ret = json_decode(@file_get_contents($changelogfile), true)) != null) { + # version_compare() has no single letter abbreviation for "RC" + $version_cmp = preg_replace('/\.r/', '.RC', $version); foreach ($ret as $entry) { if ($entry['series'] == $series) { - if (version_compare($entry['version'], $version, '>')) { + if (version_compare(preg_replace('/\.r/', 'RC', $entry['version']), $version_cmp, '>')) { $version = $entry['version']; } }