summaryrefslogtreecommitdiffstatshomepage
path: root/py/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/parse.c')
-rw-r--r--py/parse.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/py/parse.c b/py/parse.c
index ad13a90309..b20fdaacd2 100644
--- a/py/parse.c
+++ b/py/parse.c
@@ -720,6 +720,11 @@ memory_error:
goto syntax_error;
}
+ // check that parsing resulted in a parse node (can fail on empty input)
+ if (parser.result_stack_top == 0) {
+ goto syntax_error;
+ }
+
//result_stack_show(parser);
//printf("rule stack alloc: %d\n", parser.rule_stack_alloc);
//printf("result stack alloc: %d\n", parser.result_stack_alloc);