From 9fc4959290cbcd13e4f09e0e64922fc654736ec1 Mon Sep 17 00:00:00 2001
From: "Sven M. Hallberg" <pesco@khjk.org>
Date: Mon, 2 Dec 2019 17:27:49 +0100
Subject: [PATCH] handle zero-length case in reshape_bits()

---
 src/parsers/bits.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/parsers/bits.c b/src/parsers/bits.c
index be8f13f1..288e3e95 100644
--- a/src/parsers/bits.c
+++ b/src/parsers/bits.c
@@ -29,7 +29,7 @@ static HParsedToken *reshape_bits(const HParseResult *p, void* signedp_p) {
   HParsedToken *ret = h_arena_malloc(p->arena, sizeof(HParsedToken));
   ret->token_type = TT_UINT;
 
-  if(signedp && (seq->elements[0]->uint & 128))
+  if(signedp && seq->used > 0 && (seq->elements[0]->uint & 128))
     ret->uint = -1; // all ones
 
   for(size_t i=0; i<seq->used; i++) {
-- 
GitLab