diff --git a/src/libxrpl/tx/wasm/WasmiVM.cpp b/src/libxrpl/tx/wasm/WasmiVM.cpp index e63b76c078..42769a460b 100644 --- a/src/libxrpl/tx/wasm/WasmiVM.cpp +++ b/src/libxrpl/tx/wasm/WasmiVM.cpp @@ -822,7 +822,7 @@ readLEB128(Bytes const& wasmCode, size_t& offset) while (offset < wasmCode.size()) { auto byte = wasmCode[offset++]; - result |= static_cast(byte & 0x7F) << shift; + result |= static_cast(byte & (shift < 28 ? 0x7Fu : 0x0Fu)) << shift; if ((byte & 0x80) == 0) { break;