diff --git a/Userland/Libraries/LibWasm/AbstractMachine/Validator.cpp b/Userland/Libraries/LibWasm/AbstractMachine/Validator.cpp index 0ccc80ea47d..fb64c4e1b97 100644 --- a/Userland/Libraries/LibWasm/AbstractMachine/Validator.cpp +++ b/Userland/Libraries/LibWasm/AbstractMachine/Validator.cpp @@ -2847,7 +2847,7 @@ VALIDATE_INSTRUCTION(v128_load8_lane) constexpr auto max_lane = 128 / N; constexpr auto max_alignment = N / 8; - if (arg.lane > max_lane) + if (arg.lane >= max_lane) return Errors::out_of_bounds("lane index"sv, arg.lane, 0u, max_lane); TRY(validate(arg.memory.memory_index)); @@ -2906,7 +2906,7 @@ VALIDATE_INSTRUCTION(v128_load64_lane) TRY(validate(arg.memory.memory_index)); - if (arg.memory.align > max_alignment) + if ((1 << arg.memory.align) > max_alignment) return Errors::out_of_bounds("memory op alignment"sv, 1 << arg.memory.align, 0u, max_alignment); return stack.take_and_put(ValueType::V128);