From: Mira Limbeck Date: Wed, 10 Jun 2020 14:03:38 +0000 (+0200) Subject: fix #2374: bridge-ports is assumed to be defined X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=8342b610eab52ede9833fe2b3663313a93e53cc5 fix #2374: bridge-ports is assumed to be defined bridge-ports is an optional parameter but was assumed to be defined in the code. This resulted in 'use of uninitialized value' warnings. By reordering of the $ports definition before the replace, we get rid of the 'use of uninitialized value' when no bridge-port is specified. In the second case we set it to an empty string when it is undefined. Signed-off-by: Mira Limbeck --- diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm index c507515..f524672 100644 --- a/src/PVE/INotify.pm +++ b/src/PVE/INotify.pm @@ -1236,8 +1236,8 @@ sub __interface_to_string { # not printing out options } elsif ($d->{type} eq 'bridge') { - $d->{bridge_ports} =~ s/[;,\s]+/ /g; my $ports = $d->{bridge_ports} || 'none'; + $ports =~ s/[;,\s]+/ /g; $raw .= "\tbridge-ports $ports\n"; $done->{bridge_ports} = 1; @@ -1605,7 +1605,7 @@ sub __write_etc_network_interfaces { foreach my $iface (keys %$ifaces_copy) { my $d = $ifaces_copy->{$iface}; if ($d->{type} eq 'bridge') { - foreach my $p (split (/\s+/, $d->{bridge_ports})) { + foreach my $p (split (/\s+/, $d->{bridge_ports} // '')) { if($p =~ m/(\S+)\.(\d+)$/) { my $vlanparent = $1; if (!defined($ifaces_copy->{$p})) {