Skip to content

Commit 2beb5e9

Browse files
committed
Forbid negative heap addresses
1 parent f2b0d54 commit 2beb5e9

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

ws.jq

+2
Original file line numberDiff line numberDiff line change
@@ -310,9 +310,11 @@ def exec_inst($op; $arg):
310310
def top2: at(1);
311311
def assert_div: assert(top != 0; "zero divisor");
312312
def store($addr; $val):
313+
assert($addr >= 0; "store at negative address") |
313314
.max_addr = ([.max_addr, $addr] | max) |
314315
.h[$addr|tostring] = $val;
315316
def retrieve($addr):
317+
assert($addr >= 0; "retrieve at negative address") |
316318
assert((.check_retrieve|not) or $addr <= .max_addr;
317319
"retrieve above maximum stored address (\($addr) > \(.max_addr))") |
318320
.h[$addr|tostring] // 0;

0 commit comments

Comments
 (0)