From 7d8a9a99fcec4ac34bfeb8b7183b26f6b8d98275 Mon Sep 17 00:00:00 2001 From: Moayad Almalat Date: Mon, 23 Jan 2023 10:52:35 +0100 Subject: [PATCH] fix #3037: include the split_list to shell_qoute Based to the suggestion of Wolfgang, in regard to `split_list()`, I converted the `split_list()` to `split(/\0/, $param->{$key});` this will split the `$param->{$key}` null characters and push each element to the `$args` array along with the key value. changes since v1: * get rid of the `use PVE::Tools qw(split_list);` since not need it anymore. * replace the split_list to split(/\0/). Signed-off-by: Moayad Almalat --- PVE/CLI/pvesh.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PVE/CLI/pvesh.pm b/PVE/CLI/pvesh.pm index 370fdb0e..9acf292a 100755 --- a/PVE/CLI/pvesh.pm +++ b/PVE/CLI/pvesh.pm @@ -106,7 +106,7 @@ sub proxy_handler { my $args = []; foreach my $key (keys %$param) { next if $key eq 'quiet' || $key eq 'output-format'; # just to be sure - push @$args, "--$key", $param->{$key}; + push @$args, "--$key", $_ for split(/\0/, $param->{$key}); } my $remcmd = ['ssh', '-o', 'BatchMode=yes', "root\@$remip",