summaryrefslogtreecommitdiff
path: root/src/interp/interp-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/interp-inl.h')
-rw-r--r--src/interp/interp-inl.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/interp/interp-inl.h b/src/interp/interp-inl.h
index 9cab1fa9..f10efaab 100644
--- a/src/interp/interp-inl.h
+++ b/src/interp/interp-inl.h
@@ -633,7 +633,11 @@ inline Memory::Ptr Memory::New(interp::Store& store, MemoryType type) {
}
inline bool Memory::IsValidAccess(u64 offset, u64 addend, u64 size) const {
- return offset + addend + size <= data_.size();
+ // FIXME: make this faster.
+ return offset <= data_.size() &&
+ addend <= data_.size() &&
+ size <= data_.size() &&
+ offset + addend + size <= data_.size();
}
inline bool Memory::IsValidAtomicAccess(u64 offset,