From 5cda9c082a1b468657f52399c00d41b3ec362b42 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Sun, 2 Oct 2011 16:25:22 -0700 Subject: [PATCH] parse: check for empty source file --- orc/orcparse.c | 2 +- tools/orcc.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/orc/orcparse.c b/orc/orcparse.c index 00056c3..ea17c13 100644 --- a/orc/orcparse.c +++ b/orc/orcparse.c @@ -324,7 +324,7 @@ orc_parse_full (const char *code, OrcProgram ***programs, char **log) } else { free (parser->log); } - if (parser->programs[0]) { + if (parser->programs && parser->programs[0]) { parser->programs[0]->init_function = init_function; } else { free (init_function); diff --git a/tools/orcc.c b/tools/orcc.c index 35dab6b..9766d02 100644 --- a/tools/orcc.c +++ b/tools/orcc.c @@ -227,6 +227,11 @@ main (int argc, char *argv[]) n_programs = n; printf("%s", log); + if (programs == NULL) { + printf("no programs\n"); + exit(1); + } + if (init_function == NULL) { init_function = orc_parse_get_init_function (programs[0]); } -- 2.7.4