| Index: test/fuzzer/wasm-section-fuzzers.cc
|
| diff --git a/test/fuzzer/wasm-section-fuzzers.cc b/test/fuzzer/wasm-section-fuzzers.cc
|
| index 63bad10bee1cecbb9da7332cadb1e22e656f1247..7770ee306e85e9783d491c648a196cbcc9f22c24 100644
|
| --- a/test/fuzzer/wasm-section-fuzzers.cc
|
| +++ b/test/fuzzer/wasm-section-fuzzers.cc
|
| @@ -15,7 +15,10 @@
|
|
|
| using namespace v8::internal::wasm;
|
|
|
| -int fuzz_wasm_section(WasmSection::Code section, const uint8_t* data,
|
| +static const char* kNameString = "name";
|
| +static const size_t kNameStringLength = 4;
|
| +
|
| +int fuzz_wasm_section(WasmSectionCode section, const uint8_t* data,
|
| size_t size) {
|
| v8_fuzzer::FuzzerSupport* support = v8_fuzzer::FuzzerSupport::Get();
|
| v8::Isolate* isolate = support->GetIsolate();
|
| @@ -38,12 +41,18 @@ int fuzz_wasm_section(WasmSection::Code section, const uint8_t* data,
|
| ZoneBuffer buffer(&zone);
|
| buffer.write_u32(kWasmMagic);
|
| buffer.write_u32(kWasmVersion);
|
| - const char* name = WasmSection::getName(section);
|
| - size_t length = WasmSection::getNameLength(section);
|
| - buffer.write_size(length); // Section name string size.
|
| - buffer.write(reinterpret_cast<const uint8_t*>(name), length);
|
| - buffer.write_u32v(static_cast<uint32_t>(size));
|
| - buffer.write(data, size);
|
| + if (section == kNameSectionCode) {
|
| + buffer.write_u8(kUnknownSectionCode);
|
| + buffer.write_size(size + kNameStringLength + 1);
|
| + buffer.write_u8(kNameStringLength);
|
| + buffer.write(reinterpret_cast<const uint8_t*>(kNameString),
|
| + kNameStringLength);
|
| + buffer.write(data, size);
|
| + } else {
|
| + buffer.write_u8(section);
|
| + buffer.write_size(size);
|
| + buffer.write(data, size);
|
| + }
|
|
|
| ErrorThrower thrower(i_isolate, "decoder");
|
|
|
|
|