From de60e52c5af08d57cf83b5b110ec19562aa41b17 Mon Sep 17 00:00:00 2001 From: andromeda Date: Wed, 18 Mar 2026 16:21:34 +0100 Subject: range check char length --- twasm/asm/main.asm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'twasm/asm/main.asm') diff --git a/twasm/asm/main.asm b/twasm/asm/main.asm index f4f13af..ead107e 100644 --- a/twasm/asm/main.asm +++ b/twasm/asm/main.asm @@ -866,7 +866,8 @@ evaluate_constant: jmp .bin_loop .chr: - ; TODO range check rcx + cmp rcx, 4 ; ensure char is only 4 bytes long + jg .unrecognised cmp rsi, 1 ; range check je .chr_break @@ -896,7 +897,7 @@ evaluate_constant: jmp .chr_break .chr_break_for_good: - mov dl, [rdi] + mov dl, [rdi] ; make sure the chr is closed cmp dl, '"' jne .unrecognised -- cgit v1.3.1