Skip to content

Commit a1758cf

Browse files
authored
[Parsing] Emit better errors when binary parser encounters a bad code (#7367)
Noticed in #7363
1 parent 8b47ebf commit a1758cf

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/wasm/wasm-binary.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3537,7 +3537,7 @@ Result<> WasmBinaryReader::readInst() {
35373537
return builder.makeStructCmpxchg(type, field, order);
35383538
}
35393539
}
3540-
return Err{"unknown atomic operation"};
3540+
return Err{"unknown atomic operation " + std::to_string(op)};
35413541
}
35423542
case BinaryConsts::MiscPrefix: {
35433543
auto op = getU32LEB();
@@ -3597,7 +3597,7 @@ Result<> WasmBinaryReader::readInst() {
35973597
return builder.makeStore(2, offset, align, Type::f32, mem);
35983598
}
35993599
}
3600-
return Err{"unknown misc operation"};
3600+
return Err{"unknown misc operation: " + std::to_string(op)};
36013601
}
36023602
case BinaryConsts::SIMDPrefix: {
36033603
auto op = getU32LEB();
@@ -4234,7 +4234,7 @@ Result<> WasmBinaryReader::readInst() {
42344234
Store64LaneVec128, offset, align, getLaneIndex(2), mem);
42354235
}
42364236
}
4237-
return Err{"unknown SIMD operation"};
4237+
return Err{"unknown SIMD operation " + std::to_string(op)};
42384238
}
42394239
case BinaryConsts::GCPrefix: {
42404240
auto op = getU32LEB();
@@ -4377,10 +4377,10 @@ Result<> WasmBinaryReader::readInst() {
43774377
case BinaryConsts::ExternConvertAny:
43784378
return builder.makeRefAs(ExternConvertAny);
43794379
}
4380-
return Err{"unknown GC operation"};
4380+
return Err{"unknown GC operation " + std::to_string(op)};
43814381
}
43824382
}
4383-
return Err{"unknown operation"};
4383+
return Err{"unknown operation " + std::to_string(code)};
43844384
}
43854385

43864386
void WasmBinaryReader::readExports() {

0 commit comments

Comments
 (0)