Skip to content

Commit 9e170db

Browse files
committed
fix(interpreter): prevent frame_offset underflow in wasm_loader
1 parent 4a17741 commit 9e170db

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
@@ -11577,6 +11577,14 @@ wasm_loader_prepare_bytecode(WASMModule *module, WASMFunction *func,
1157711577
cell_num = wasm_value_type_cell_num(
1157811578
wasm_type->types[wasm_type->param_count - i - 1]);
1157911579
loader_ctx->frame_offset -= cell_num;
11580+
11581+
if (loader_ctx->frame_offset
11582+
< loader_ctx->frame_offset_bottom) {
11583+
LOG_DEBUG("frame_offset underflow, roll back and "
11584+
"let following stack checker report it\n");
11585+
loader_ctx->frame_offset += cell_num;
11586+
break;
11587+
}
1158011588
#endif
1158111589
}
1158211590
}

0 commit comments

Comments
 (0)