aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/generated_cases.c.h
diff options
context:
space:
mode:
authorIrit Katriel <1055913+iritkatriel@users.noreply.github.com>2025-05-01 18:15:53 +0100
committerGitHub <noreply@github.com>2025-05-01 19:15:53 +0200
commita4be3bc34f9d3671e42ef8a301dfbbc9bdac3421 (patch)
tree4f9b3e38cec54b4df8303c4cd500a908605b2616 /Python/generated_cases.c.h
parentd10bd81b45b9fd066edc6f82675ed4305603c4f4 (diff)
downloadcpython-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.h26
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();
}