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