From 4a9727c96f4e7b6e7cc237e737441bfae83a7a80 Mon Sep 17 00:00:00 2001 From: Samuel Mendoza-Jonas Date: Wed, 6 Jul 2016 16:05:46 +1000 Subject: discover/device-handler: Ignore options without kernel All boot options must at least have a boot image; ignore any options that do not before trying to resolve them. Signed-off-by: Samuel Mendoza-Jonas --- discover/device-handler.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/discover/device-handler.c b/discover/device-handler.c index cd4e3ac..e230e76 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -1191,6 +1191,14 @@ void device_handler_discover_context_commit(struct device_handler *handler, list_for_each_entry_safe(&ctx->boot_options, opt, tmp, list) { list_remove(&opt->list); + /* All boot options need at least a kernel image */ + if (!opt->boot_image || !opt->boot_image->url) { + pb_log("boot option %s is missing boot image, ignoring\n", + opt->option->id); + talloc_free(opt); + continue; + } + if (boot_option_resolve(opt, handler)) { pb_log("boot option %s is resolved, " "sending to clients\n", -- cgit v1.1