[pve-devel] [PATCH common] fix #2374: bridge-ports is assumed to be defined
Mira Limbeck
m.limbeck at proxmox.com
Wed Jun 10 16:03:38 CEST 2020
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 <m.limbeck at proxmox.com>
---
src/PVE/INotify.pm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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})) {
--
2.20.1
More information about the pve-devel
mailing list