diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-06-29 11:15:08 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-06-29 11:16:28 -0700 |
commit | 4ab71c88f4b25cb456f43b58bd8f30e8444206a9 (patch) | |
tree | 1b284d6a48778e5b0f6f57b0bc13c197fdf124a0 | |
parent | 854f4d98e0d35bf129ab07e1c147dbb4db39a51c (diff) | |
download | binaryen-4ab71c88f4b25cb456f43b58bd8f30e8444206a9.tar.gz binaryen-4ab71c88f4b25cb456f43b58bd8f30e8444206a9.tar.bz2 binaryen-4ab71c88f4b25cb456f43b58bd8f30e8444206a9.zip |
fix wasm interpreter bug on checking indirect call params
-rw-r--r-- | src/wasm-interpreter.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 2206bfcae..a8b4b5614 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -650,8 +650,10 @@ private: Function *func = instance.wasm.getFunction(name); if (func->type.is() && func->type != curr->fullType) trap("callIndirect: bad type"); if (func->params.size() != arguments.size()) trap("callIndirect: bad # of arguments"); - for (size_t i = 0; i < func->getNumLocals(); i++) { - if (func->params[i] != arguments[i].type) trap("callIndirect: bad argument type"); + for (size_t i = 0; i < func->params.size(); i++) { + if (func->params[i] != arguments[i].type) { + trap("callIndirect: bad argument type"); + } } return instance.callFunctionInternal(name, arguments); } |