summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wasm-interpreter.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index 36542e6ed..1e0cf3ed0 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -1986,6 +1986,7 @@ public:
if (ref.breaking()) {
return ref;
}
+ // TODO: "WTF-16 position treatment", as in stringview_wtf16.slice?
Flow ptr = visit(curr->ptr);
if (ptr.breaking()) {
return ptr;
@@ -2173,9 +2174,7 @@ public:
auto& refValues = refData->values;
auto startVal = start.getSingleValue().getUnsigned();
auto endVal = end.getSingleValue().getUnsigned();
- if (endVal > refValues.size()) {
- trap("array oob");
- }
+ endVal = std::min<size_t>(endVal, refValues.size());
if (hasNonAsciiUpTo(refValues, endVal)) {
return Flow(NONCONSTANT_FLOW);
}