From 41d4be4b84b8abd42bc968d2f8bb01d758cf1eac Mon Sep 17 00:00:00 2001 From: "Sven M. Hallberg" <pesco@khjk.org> Date: Wed, 12 Jun 2013 15:54:46 +0200 Subject: [PATCH] avoid a segfault on getting the token position --- src/backends/lalr.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/backends/lalr.c b/src/backends/lalr.c index e974da61..8178f2d2 100644 --- a/src/backends/lalr.c +++ b/src/backends/lalr.c @@ -690,9 +690,13 @@ HParseResult *h_lr_parse(HAllocator* mm__, const HParser* parser, HInputStream* value->seq->elements[len-1-i] = v; value->seq->used++; } - // result position equals position of left-most symbol - value->index = v->index; - value->bit_offset = v->bit_offset; + if(v) { + // result position equals position of left-most symbol + value->index = v->index; + value->bit_offset = v->bit_offset; + } else { + // XXX how to get the position in this case? + } // perform token reshape if indicated if(symbol->reshape) -- GitLab