From a8be4540b1e8abc58ba08b224038e8098b1f6517 Mon Sep 17 00:00:00 2001 From: r4 Date: Tue, 21 Dec 2021 18:38:52 +0100 Subject: [PATCH] fix segfault So basically, I used i++ on a linked list instead of i->next. As if that wasn't bad enough on its own, it even managed to somehow still work in the 2 test scenarios I gave it. Regardless, it is now fixed. --- parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parse.c b/parse.c index 244fca0..76da61a 100644 --- a/parse.c +++ b/parse.c @@ -395,7 +395,7 @@ static void stmt(State *s, Scope *sc, TokListItem *t) { /* find beginning of while loop body */ TokListItem *lcurl; - for (TokListItem *i = t;; i++) { + for (TokListItem *i = t;; i = i->next) { if (i == NULL) { mark_err(&start->tok); set_err("Expected '{' after 'while' loop condition");