diff options
Diffstat (limited to 'src/interp/interp-inl.h')
-rw-r--r-- | src/interp/interp-inl.h | 6 |
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, |