diff --git a/Python/assemble.c b/Python/assemble.c index 6889831ae3fe0c..8789d8ef978c22 100644 --- a/Python/assemble.c +++ b/Python/assemble.c @@ -128,7 +128,7 @@ assemble_emit_exception_table_entry(struct assembler *a, int start, int end, assert(end > start); int target = handler->h_offset; int depth = handler->h_startdepth - 1; - if (handler->h_preserve_lasti) { + if (handler->h_preserve_lasti > 0) { depth -= 1; } assert(depth >= 0); @@ -146,6 +146,7 @@ assemble_exception_table(struct assembler *a, instr_sequence *instrs) int ioffset = 0; _PyCompile_ExceptHandlerInfo handler; handler.h_offset = -1; + handler.h_preserve_lasti = -1; int start = -1; for (int i = 0; i < instrs->s_used; i++) { instruction *instr = &instrs->s_instrs[i];