wasm-micro-runtime/tests/unit/exception-handling
Yi Liu 539bebed9c
Fix missing IS_INVALID_TAGINDEX check in RETHROW handler (#4837)
* Fix RETHROW handler missing IS_INVALID_TAGINDEX check

Add validation for exception_tag_index in the RETHROW opcode handler
to prevent out-of-bounds access to module->module->tags[] when the
tag index is INVALID_TAGINDEX (0xFFFFFFFF). This matches the existing
check in the THROW handler.

When CATCH_ALL catches a cross-module exception with an unknown tag,
it pushes INVALID_TAGINDEX onto the stack. Without this check, a
subsequent RETHROW would access tags[0xFFFFFFFF].

* Fix incorrect code section byte counts in exception handling test

The hand-crafted WASM binary in load_module_with_exception_handling had
an off-by-one in the code section: body size was declared as 7 but the
actual body (local count + try/catch_all/end/end) is only 6 bytes.
This caused the WASM loader to fail with "unexpected end" when it tried
to read past the available bytes.

Fix the body size from 7 to 6 and the code section size from 9 to 8.
2026-03-09 10:04:18 +08:00
..
CMakeLists.txt Fix missing IS_INVALID_TAGINDEX check in RETHROW handler (#4837) 2026-03-09 10:04:18 +08:00
exception_handling_test.cc Fix missing IS_INVALID_TAGINDEX check in RETHROW handler (#4837) 2026-03-09 10:04:18 +08:00