1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-03-12 08:58:20 +03:00

vmspawn: make sure are fine with ovmf metadata extensions

The JSON ovmf data on Fedora at least has more fields than we expect,
ignore it.

(cherry picked from commit 1f459f3a45452a6a7c48c6ce3bd0d4f4aefee371)

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2294768.
This commit is contained in:
Lennart Poettering 2024-01-12 15:37:15 +01:00 committed by Luca Boccassi
parent f33f8aefbd
commit 4e78e189a3

View File

@ -100,7 +100,7 @@ static int firmware_executable(const char *name, JsonVariant *v, JsonDispatchFla
{}
};
return json_dispatch(v, table, 0, userdata);
return json_dispatch(v, table, flags, userdata);
}
static int firmware_nvram_template(const char *name, JsonVariant *v, JsonDispatchFlags flags, void *userdata) {
@ -110,7 +110,7 @@ static int firmware_nvram_template(const char *name, JsonVariant *v, JsonDispatc
{}
};
return json_dispatch(v, table, 0, userdata);
return json_dispatch(v, table, flags, userdata);
}
static int firmware_mapping(const char *name, JsonVariant *v, JsonDispatchFlags flags, void *userdata) {
@ -121,7 +121,7 @@ static int firmware_mapping(const char *name, JsonVariant *v, JsonDispatchFlags
{}
};
return json_dispatch(v, table, 0, userdata);
return json_dispatch(v, table, flags, userdata);
}
int find_ovmf_config(int search_sb, OvmfConfig **ret) {
@ -183,7 +183,7 @@ int find_ovmf_config(int search_sb, OvmfConfig **ret) {
if (!fwd)
return -ENOMEM;
r = json_dispatch(config_json, table, 0, fwd);
r = json_dispatch(config_json, table, JSON_ALLOW_EXTENSIONS, fwd);
if (r == -ENOMEM)
return r;
if (r < 0) {