From: Jeremy Kerr Date: Thu, 2 May 2013 02:20:39 +0000 (+0800) Subject: discover: detect unresolvable resources X-Git-Tag: v1.0.0~668 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=b155a07583e33d51313b5747b961f5075e7465b2;hp=100cb2cfc3ee4040ab969215e3cd8cc885f9efeb discover: detect unresolvable resources We don't want to call NULL resolve_resource callbacks. Signed-off-by: Jeremy Kerr --- diff --git a/discover/device-handler.c b/discover/device-handler.c index d3274bc..b2922b7 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -149,8 +149,17 @@ static void context_commit(struct device_handler *handler, discover_server_notify_boot_option_add(handler->server, opt->option); } else { - list_add(&handler->unresolved_boot_options, &opt->list); - talloc_steal(handler, opt); + if (!opt->source->resolve_resource) { + pb_log("parser %s gave us an unresolved " + "resource (%s), but no way to " + "resolve it\n", + opt->source->name, opt->option->id); + talloc_free(opt); + } else { + list_add(&handler->unresolved_boot_options, + &opt->list); + talloc_steal(handler, opt); + } } } }