diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-05 11:37:38 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-05 11:37:38 -0800 |
commit | a858f83483527f978c9ee70db4a91bc9c2c7022b (patch) | |
tree | cc86f2fd49fcb333674a3db8b27b8e2353563eff /src/wasm-shell.cpp | |
parent | 272cf05739fb95e85d2cabb0dd7600c0f03c7906 (diff) | |
download | binaryen-a858f83483527f978c9ee70db4a91bc9c2c7022b.tar.gz binaryen-a858f83483527f978c9ee70db4a91bc9c2c7022b.tar.bz2 binaryen-a858f83483527f978c9ee70db4a91bc9c2c7022b.zip |
refactor memory bounds checks
Diffstat (limited to 'src/wasm-shell.cpp')
-rw-r--r-- | src/wasm-shell.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/wasm-shell.cpp b/src/wasm-shell.cpp index f684d5785..76aa3c8af 100644 --- a/src/wasm-shell.cpp +++ b/src/wasm-shell.cpp @@ -47,13 +47,8 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface { abort(); } - Literal load(Load* load, Literal ptr) override { + Literal load(Load* load, size_t addr) override { // ignore align - assume we are on x86 etc. which does that - size_t addr = ptr.geti32(); - int64_t full = addr; - full += load->offset; - if (full + load->bytes > memorySize) trap(); - addr = full; switch (load->type) { case i32: { switch (load->bytes) { @@ -80,12 +75,8 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface { } } - void store(Store* store, Literal ptr, Literal value) override { + void store(Store* store, size_t addr, Literal value) override { // ignore align - assume we are on x86 etc. which does that - size_t addr = ptr.geti32(); - int64_t full = addr; - full += store->offset; - if (full + store->bytes > memorySize) trap(); switch (store->type) { case i32: { switch (store->bytes) { |