From db6fa71e32e67c85af03e3dab482fbd35ffd1889 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 26 Feb 2021 20:30:09 +0000 Subject: [Wasm GC] Add array.wast and validator fixes for it (#3622) --- src/wasm/wasm-s-parser.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/wasm/wasm-s-parser.cpp') diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 7182860ed..edf8ec6f0 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -694,7 +694,11 @@ void SExpressionWasmBuilder::preParseHeapTypes(Element& module) { return builder.getTempRefType(typeIndices[name], Nullable); } else if (String::isNumber(name)) { // TODO: Support non-nullable types - return builder.getTempRefType(atoi(name), Nullable); + size_t index = atoi(name); + if (index >= numTypes) { + throw ParseException("invalid type index", elem.line, elem.col); + } + return builder.getTempRefType(index, Nullable); } else { // TODO: Support non-nullable types return Type(stringToHeapType(name), Nullable); -- cgit v1.2.3