diff --git a/libraries/chain/include/eosio/chain/wasm_eosio_injection.hpp b/libraries/chain/include/eosio/chain/wasm_eosio_injection.hpp index 020a4ad202..b9d4b0fc77 100644 --- a/libraries/chain/include/eosio/chain/wasm_eosio_injection.hpp +++ b/libraries/chain/include/eosio/chain/wasm_eosio_injection.hpp @@ -151,7 +151,8 @@ namespace eosio { namespace chain { namespace wasm_injections { static constexpr bool post = false; static void init() {} static void accept( wasm_ops::instr* inst, wasm_ops::visitor_arg& arg ) { - wasm_ops::op_types<>::call_t* call_inst = reinterpret_cast::call_t*>(inst); + // Cast to the exact dynamic type to avoid undefined behavior + auto* call_inst = static_cast*>(inst); auto mapped_index = injector_utils::injected_index_mapping.find(call_inst->field); if ( mapped_index != injector_utils::injected_index_mapping.end() ) {