Chromium Code Reviews| Index: src/wasm/ast-decoder.cc |
| diff --git a/src/wasm/ast-decoder.cc b/src/wasm/ast-decoder.cc |
| index 80af396021245b2642b4661a250aa332a8a2f74f..22339a16e900ca5f7be152aa7fcf98fe918a1380 100644 |
| --- a/src/wasm/ast-decoder.cc |
| +++ b/src/wasm/ast-decoder.cc |
| @@ -661,8 +661,13 @@ class WasmFullDecoder : public WasmDecoder { |
| } |
| // Decode local declarations, if any. |
| uint32_t entries = consume_u32v("local decls count"); |
| + TRACE("local decls count: %u\n", entries); |
| while (entries-- > 0 && pc_ < limit_) { |
| uint32_t count = consume_u32v("local count"); |
| + if (count > 8000000) { |
|
titzer
2016/08/25 08:00:26
Can you introduce a constant in ast-decoder.h and
|
| + error(pc_ - 1, "local count too large"); |
| + return; |
| + } |
| byte code = consume_u8("local type"); |
| LocalType type; |
| switch (code) { |