discover/device-handler: Ignore options without kernel
diff mbox

Message ID 20160706061902.9520-1-sam@mendozajonas.com
State Accepted
Headers show

Commit Message

Samuel Mendoza-Jonas July 6, 2016, 6:19 a.m. UTC
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 <sam@mendozajonas.com>
---
 discover/device-handler.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Patch
diff mbox

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",