fuzz-bootspec: also add loader autoentries
This commit is contained in:
@@ -7,12 +7,15 @@ import os
|
||||
import sys
|
||||
|
||||
config = open(sys.argv[1]).read()
|
||||
loader = [entry for entry in open(sys.argv[2], encoding='utf-16-le').read().split('\0')
|
||||
if len(entry) > 2] # filter out fluff from bad decoding
|
||||
entries = [(os.path.basename(name), open(name).read())
|
||||
for name in sys.argv[2:]]
|
||||
for name in sys.argv[3:]]
|
||||
|
||||
data = {
|
||||
'config': config,
|
||||
'entries': entries,
|
||||
'loader': loader,
|
||||
}
|
||||
|
||||
print(json.dumps(data, indent=4))
|
||||
|
||||
@@ -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 },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
@@ -13,5 +13,10 @@
|
||||
"listing.conf",
|
||||
"title Title\nversion 3.7.2-201.fc18.x86_64\nmachine-id 4098b3f648d74c13b1f04ccfba7798e8\nsort-key 666\nlinux /6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/linux\ninitrd /6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/initrd\nefi /6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/efi\noptions one two three four\ndevicetree 6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.armv7hl/tegra20-paz00.dtb\ndevicetree-overlay /6a9857a393724b7a981ebb5b8495b9ea/overlays/overlay_A.dtbo /6a9857a393724b7a981ebb5b8495b9ea/overlays/overlay_B.dtbo\narchitecture IA32\narchitecture x64\narchitecture IA64\narchitecture ARM\narchitecture AA64\n"
|
||||
]
|
||||
],
|
||||
"loader": [
|
||||
"08a5690a2eed47cf92ac0a5d2e3cf6b0-5.17.0-0.rc5.102.fc36.x86_64.conf",
|
||||
"08a5690a2eed47cf92ac0a5d2e3cf6b0-5.15.14-200.fc35.x86_64.conf",
|
||||
"auto-reboot-to-firmware-setup"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user