summaryrefslogtreecommitdiff
path: root/src/fuzz/fuzz-bootspec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fuzz/fuzz-bootspec.c')
-rw-r--r--src/fuzz/fuzz-bootspec.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/fuzz/fuzz-bootspec.c b/src/fuzz/fuzz-bootspec.c
index 9907457450..b59e67c24e 100644
--- a/src/fuzz/fuzz-bootspec.c
+++ b/src/fuzz/fuzz-bootspec.c
@@ -59,9 +59,23 @@ static int json_dispatch_entries(const char *name, JsonVariant *variant, JsonDis
return 0;
}
+static int json_dispatch_loader(const char *name, JsonVariant *variant, JsonDispatchFlags flags, void *userdata) {
+ BootConfig *config = ASSERT_PTR(userdata);
+ _cleanup_strv_free_ char **entries = NULL;
+ int r;
+
+ r = json_dispatch_strv(name, variant, flags, &entries);
+ if (r < 0)
+ return r;
+
+ (void) boot_config_augment_from_loader(config, entries, false);
+ return 0;
+}
+
static const JsonDispatch data_dispatch[] = {
{ "config", JSON_VARIANT_STRING, json_dispatch_config, 0, 0 },
{ "entries", JSON_VARIANT_ARRAY, json_dispatch_entries, 0, 0 },
+ { "loader", JSON_VARIANT_ARRAY, json_dispatch_loader, 0, 0 },
{}
};