diff options
Diffstat (limited to 'src/wasm-s-parser.h')
-rw-r--r-- | src/wasm-s-parser.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index a2a0e0027..674341d1e 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -1066,8 +1066,9 @@ private: Element& curr = *s[i]; assert(curr[0]->str() == SEGMENT); const char *input = curr[2]->c_str(); - char data[strlen(input)]; - char *write = data; + std::vector<char> data; + data.resize(strlen(input)); + char *write = (char*)&data[0]; while (1) { if (input[0] == 0) break; if (input[0] == '\\') { @@ -1100,7 +1101,7 @@ private: *write++ = input[0]; input++; } - wasm.memory.segments.emplace_back(atoi(curr[1]->c_str()), (const char*)data, write - data); + wasm.memory.segments.emplace_back(atoi(curr[1]->c_str()), (const char*)&data[0], write - (const char*)&data[0]); i++; } } |