From 0d5313a063555b3a1bf8c45eeefd62ecc24f6c04 Mon Sep 17 00:00:00 2001 From: r4 Date: Tue, 28 Dec 2021 13:39:59 +0100 Subject: [PATCH] fix invalid memory access --- ir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ir.c b/ir.c index 852e310..49c6646 100644 --- a/ir.c +++ b/ir.c @@ -143,7 +143,7 @@ void optimize_ir(IRToks *v) { case IRJmp: { /* resolve jump chains (esp. produced by if-else-if... statements) */ size_t ja = i; - while (v->toks[ja].instr == IRJmp) + while (ja < v->len && v->toks[ja].instr == IRJmp) ja = v->toks[ja].Jmp.iaddr; v->toks[i].Jmp.iaddr = ja; }