From aced7e7d67c62d903244ec1cb3c01a5ff7b30781 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Fri, 30 Nov 2018 09:53:49 +0100 Subject: [PATCH] fix #2005: only allow ascii port digits perl accepts non-ascii digits for \d like U+09EA which do not work with iptables Signed-off-by: Dominik Csapak --- src/PVE/Firewall.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm index ef00d0c..035dc7e 100644 --- a/src/PVE/Firewall.pm +++ b/src/PVE/Firewall.pm @@ -1049,12 +1049,12 @@ sub parse_port_name_number_or_range { my @elements = split(/,/, $str); die "extraneous commas in list\n" if $str ne join(',', @elements); foreach my $item (@elements) { - if ($item =~ m/^(\d+):(\d+)$/) { + if ($item =~ m/^([0-9]+):([0-9]+)$/) { $count += 2; my ($port1, $port2) = ($1, $2); die "invalid port '$port1'\n" if $port1 > 65535; die "invalid port '$port2'\n" if $port2 > 65535; - } elsif ($item =~ m/^(\d+)$/) { + } elsif ($item =~ m/^([0-9]+)$/) { $count += 1; my $port = $1; die "invalid port '$port'\n" if $port > 65535; -- 2.39.2