better bounds check for table.get and table.set

This commit is contained in:
Ilya Rezvov
2022-06-06 18:44:42 -06:00
parent 4e9105717b
commit 71d332e3dc
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -982,7 +982,7 @@ eval budget store FunctionInstance { funcType, moduleInstance, code = Function {
RF fnRef -> fnRef
v -> error "Impossible due to validation"
els <- readIORef items
if dst > MVector.length els
if dst >= MVector.length els
then return Trap
else do
MVector.unsafeWrite els dst (fromIntegral <$> val)
@@ -992,7 +992,7 @@ eval budget store FunctionInstance { funcType, moduleInstance, code = Function {
let TableInstance { t = TableType _ et, items } = tableInstances store ! tableAddr
let dst = fromIntegral offset
els <- readIORef items
if dst > MVector.length els
if dst >= MVector.length els
then return Trap
else do
v <- MVector.unsafeRead els dst