From 3fde43d2ec80ad8e0ed39753d4fb9738ac7fd658 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Sun, 10 Mar 2024 18:12:21 +0100 Subject: [PATCH] config: pending network: avoid undef-warning on old/new comparison A network device of a VM does not necessarily has to be connected to an actual bridge, so when a new pending value is set we need to use the undef-safe compare helpers when checking if there was a change between old and new value, as otherwise one gets ugly "use of uninitialized value in string ne" warnings. Link: https://forum.proxmox.com/threads/143072/ Signed-off-by: Thomas Lamprecht --- PVE/QemuServer.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 68142fd4..594d50f3 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -5206,8 +5206,10 @@ sub vmconfig_apply_pending { if ($conf->{$opt}){ my $old_net = PVE::QemuServer::parse_net($conf->{$opt}); - if ($old_net->{bridge} ne $new_net->{bridge} || - $old_net->{macaddr} ne $new_net->{macaddr}) { + if (defined($old_net->{bridge}) && defined($old_net->{macaddr}) && ( + safe_string_ne($old_net->{bridge}, $new_net->{bridge}) || + safe_string_ne($old_net->{macaddr}, $new_net->{macaddr}) + )) { PVE::Network::SDN::Vnets::del_ips_from_mac($old_net->{bridge}, $old_net->{macaddr}, $conf->{name}); } } -- 2.39.5