diff --git a/glass.asm b/glass.asm index f94e546..1371dc7 100644 --- a/glass.asm +++ b/glass.asm @@ -11611,12 +11611,16 @@ selection_extract: .se_row_grid_shifted: mov rax, r12 sub rax, [scroll_offset] + cmp rax, MAX_ROWS ; guard: shifted row must be in [0, MAX_ROWS) + jge .se_done imul rax, MAX_COLS imul rax, CELL_SIZE lea rbx, [grid + rax] jmp .se_row_base_done .se_row_live: mov rax, r12 + cmp rax, MAX_ROWS ; guard: row must be in [0, MAX_ROWS) + jge .se_done imul rax, MAX_COLS imul rax, CELL_SIZE lea rbx, [grid + rax]