summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--discover/yaboot-parser.c3
-rw-r--r--test/parser/Makefile.am1
-rw-r--r--test/parser/test-yaboot-empty.c12
3 files changed, 15 insertions, 1 deletions
diff --git a/discover/yaboot-parser.c b/discover/yaboot-parser.c
index e52187f..f16ac72 100644
--- a/discover/yaboot-parser.c
+++ b/discover/yaboot-parser.c
@@ -102,7 +102,8 @@ static void yaboot_finish(struct conf_context *conf)
const char *default_label;
struct boot_option *opt;
- assert(state->opt);
+ if (!state->opt)
+ return;
opt = state->opt->option;
assert(opt);
diff --git a/test/parser/Makefile.am b/test/parser/Makefile.am
index 46f87ce..abc95bb 100644
--- a/test/parser/Makefile.am
+++ b/test/parser/Makefile.am
@@ -42,6 +42,7 @@ TESTS = \
test-grub2-lexer-error \
test-grub2-parser-error \
test-kboot-single \
+ test-yaboot-empty \
test-yaboot-single \
test-yaboot-partition \
test-yaboot-partition-override \
diff --git a/test/parser/test-yaboot-empty.c b/test/parser/test-yaboot-empty.c
new file mode 100644
index 0000000..00d08ad
--- /dev/null
+++ b/test/parser/test-yaboot-empty.c
@@ -0,0 +1,12 @@
+#include "parser-test.h"
+
+static const char empty[] = "";
+
+void run_test(struct parser_test *test)
+{
+ test_read_conf_data(test, "/etc/yaboot.conf", empty);
+
+ test_run_parser(test, "yaboot");
+
+ check_boot_option_count(test->ctx, 0);
+}
OpenPOWER on IntegriCloud