diff options
author | Irit Katriel <1055913+iritkatriel@users.noreply.github.com> | 2025-05-01 18:15:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-01 19:15:53 +0200 |
commit | a4be3bc34f9d3671e42ef8a301dfbbc9bdac3421 (patch) | |
tree | 4f9b3e38cec54b4df8303c4cd500a908605b2616 /Python/generated_cases.c.h | |
parent | d10bd81b45b9fd066edc6f82675ed4305603c4f4 (diff) | |
download | cpython-a4be3bc34f9d3671e42ef8a301dfbbc9bdac3421.tar.gz cpython-a4be3bc34f9d3671e42ef8a301dfbbc9bdac3421.zip |
gh-133258: Fix crash in test_index (GH-133262)
Diffstat (limited to 'Python/generated_cases.c.h')
-rw-r--r-- | Python/generated_cases.c.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index a432603dc41..004f4db593d 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -811,27 +811,27 @@ _PyFrame_SetStackPointer(frame, stack_pointer); PyObject *res_o = _PyList_SliceSubscript(list, sub); stack_pointer = _PyFrame_GetStackPointer(frame); - if (res_o == NULL) { - UPDATE_MISS_STATS(BINARY_OP); - assert(_PyOpcode_Deopt[opcode] == (BINARY_OP)); - JUMP_TO_PREDICTED(BINARY_OP); - } - STAT_INC(BINARY_OP, hit); - res = PyStackRef_FromPyObjectSteal(res_o); STAT_INC(BINARY_OP, hit); _PyFrame_SetStackPointer(frame, stack_pointer); - _PyStackRef tmp = list_st; - list_st = res; - stack_pointer[-2] = list_st; - PyStackRef_CLOSE(tmp); - tmp = sub_st; + _PyStackRef tmp = sub_st; sub_st = PyStackRef_NULL; stack_pointer[-1] = sub_st; PyStackRef_CLOSE(tmp); + tmp = list_st; + list_st = PyStackRef_NULL; + stack_pointer[-2] = list_st; + PyStackRef_CLOSE(tmp); stack_pointer = _PyFrame_GetStackPointer(frame); - stack_pointer += -1; + stack_pointer += -2; assert(WITHIN_STACK_BOUNDS()); + if (res_o == NULL) { + JUMP_TO_LABEL(error); + } + res = PyStackRef_FromPyObjectSteal(res_o); } + stack_pointer[0] = res; + stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); DISPATCH(); } |