If we didn't find any valid boot options in the pxe buffer, we'll call
discover_context_add_boot_option with a NULL boot option.
This change adds a check before we try to add the boot option, and a
test to verify this situation.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
static void pxe_finish(struct conf_context *conf)
{
- discover_context_add_boot_option(conf->dc, conf->parser_info);
+ if (conf->parser_info)
+ discover_context_add_boot_option(conf->dc, conf->parser_info);
}
static void pxe_process_pair(struct conf_context *ctx,
test-yaboot-device-override \
test-yaboot-default \
test-yaboot-rh8-ppc64 \
+ test-pxe-empty \
test-pxe-single \
test-pxe-initrd-in-append
--- /dev/null
+
+#include "parser-test.h"
+
+#if 0 /* PARSER_EMBEDDED_CONFIG */
+
+#endif
+
+void run_test(struct parser_test *test)
+{
+ struct discover_context *ctx;
+
+ test_read_conf_embedded(test);
+ test_set_conf_source(test, "tftp://host/dir/conf.txt");
+ test_run_parser(test, "pxe");
+
+ ctx = test->ctx;
+
+ check_boot_option_count(ctx, 0);
+}