Skip to content

Commit 74aa7b3

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

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

core/iwasm/interpreter/wasm_loader.c

+9
Original file line numberDiff line numberDiff line change
@@ -9197,6 +9197,15 @@ 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->preserved_local_offset) {
9203+
set_error_buf_v(error_buf, error_buf_size,
9204+
"too much local cells 0x%x",
9205+
loader_ctx->preserved_local_offset);
9206+
return false;
9207+
}
9208+
92009209
emit_operand(loader_ctx, local_index);
92019210
emit_operand(loader_ctx, preserved_offset);
92029211
emit_label(opcode);

0 commit comments

Comments
 (0)