5
0
mirror of git://git.proxmox.com/git/pve-guest-common.git synced 2024-12-24 21:34:13 +03:00

fix #2834: skip refs in config_with_pending_array

With the refactoring of config_with_pending_array in
daf8fca57a a few sanity checks on parsed configs
were dropped.

One case where a config value should be skipped, instead of parsed and added
is when the value is not scalar. This is the case for the raw lxc keys
(e.g. lxc.init.cmd, lxc.apparmor.profile) - which get added as array to the
'lxc' key.

This patch reintroduces the skipping of non-scalar values, when parsing the
config but not for the pending values.
From a short look through the commit history the sanity checks were in place
since 2014 (introduced in qemu-server for handling pending configuration
changes), and their removal did not cause any other regressions.
To my knowledge only the raw lxc config keys are parsed into a non-scalar
value.

Tested by adding a 'lxc.init.cmd' key to a container config.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
This commit is contained in:
Stoiko Ivanov 2020-07-10 20:11:28 +02:00 committed by Thomas Lamprecht
parent 981e497b79
commit dd59a7cac0

View File

@ -214,6 +214,8 @@ sub config_with_pending_array {
my $res = []; my $res = [];
foreach my $opt (keys %$conf) { foreach my $opt (keys %$conf) {
next if ref($conf->{$opt});
my $item = { my $item = {
key => $opt, key => $opt,
value => $conf->{$opt}, value => $conf->{$opt},