From cbe9de99c5f798523be0a0c000fdcac7d84b2b73 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Mon, 7 Apr 2025 17:10:36 +0200 Subject: [PATCH] machine: improve code style in get_pve_version This makes it a bit more obvious what happens and having an actual error for bogus $PVE_MACHINE_VERSION entries. Note that there was no auto-vivification before, as we never directly accessed $PVE_MACHINE_VERSION->{$verstr}->{highest} but used get_machine_pve_revisions to query a specific QEMU machine version's PVE revisions and then operated on the return value, and that method returns undef if there is no entry at all. Signed-off-by: Thomas Lamprecht --- PVE/QemuServer/Machine.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm index b04cf99d..90d78154 100644 --- a/PVE/QemuServer/Machine.pm +++ b/PVE/QemuServer/Machine.pm @@ -191,9 +191,11 @@ sub get_machine_pve_revisions { sub get_pve_version { my ($verstr) = @_; - my $pve_machine = get_machine_pve_revisions($verstr); + if (my $pve_machine = get_machine_pve_revisions($verstr)) { + return $pve_machine->{highest} || die "internal error - machine version '$verstr' missing 'highest'"; + } - return $pve_machine->{highest} // 0; + return 0; } sub can_run_pve_machine_version {