From b0b97848e8acfa7bba19b8a70c3aa7ff02f4c322 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Dec 08 2022 20:29:56 +0000 Subject: bootspec: fix null-dereference-read Fixes [oss-fuzz#53578](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53578). Fixes #25450. (cherry picked from commit 46dc071985ff487f5ccf20808531168a6add73d3) --- diff --git a/src/shared/bootspec.c b/src/shared/bootspec.c index d3cfb41..14bcbf6 100644 --- a/src/shared/bootspec.c +++ b/src/shared/bootspec.c @@ -997,6 +997,8 @@ static int boot_config_find(const BootConfig *config, const char *id) { if (id[0] == '@') { if (!strcaseeq(id, "@saved")) return -1; + if (!config->entry_selected) + return -1; id = config->entry_selected; } diff --git a/test/fuzz/fuzz-bootspec/clusterfuzz-testcase-minimized-fuzz-bootspec-5731869371269120 b/test/fuzz/fuzz-bootspec/clusterfuzz-testcase-minimized-fuzz-bootspec-5731869371269120 new file mode 100644 index 0000000..8804abd --- /dev/null +++ b/test/fuzz/fuzz-bootspec/clusterfuzz-testcase-minimized-fuzz-bootspec-5731869371269120 @@ -0,0 +1 @@ +{"config":"default @saved","loader":[""]} \ No newline at end of file