Skip to content

Commit 06894d3

Browse files
committed
Add overflow check for preserved local offset in preserve_referenced_local
1 parent c883faf commit 06894d3

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

core/iwasm/interpreter/wasm_loader.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9197,6 +9197,14 @@ preserve_referenced_local(WASMLoaderContext *loader_ctx, uint8 opcode,
91979197
loader_ctx->preserved_local_offset += 2;
91989198
emit_label(EXT_OP_COPY_STACK_TOP_I64);
91999199
}
9200+
9201+
/* overflow */
9202+
if (preserved_offset >= loader_ctx->max_dynamic_offset) {
9203+
set_error_buf("too much local cells 0x%x",
9204+
loader_ctx->max_dynamic_offset);
9205+
return false;
9206+
}
9207+
92009208
emit_operand(loader_ctx, local_index);
92019209
emit_operand(loader_ctx, preserved_offset);
92029210
emit_label(opcode);

0 commit comments

Comments
 (0)