File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -981,7 +981,9 @@ PyFrame_FastToLocalsWithError(PyFrameObject *f)
981
981
PyObject * value = fast [i ];
982
982
if (f -> f_state != FRAME_CLEARED ) {
983
983
int cellargoffset = CO_CELL_NOT_AN_ARG ;
984
- if (co -> co_cell2arg != NULL ) {
984
+ if (kind & CO_FAST_CELL && co -> co_cell2arg != NULL ) {
985
+ assert (i - co -> co_nlocals >= 0 );
986
+ assert (i - co -> co_nlocals < co -> co_ncellvars );
985
987
cellargoffset = co -> co_cell2arg [i - co -> co_nlocals ];
986
988
}
987
989
if (kind & CO_FAST_FREE ) {
@@ -1093,7 +1095,8 @@ PyFrame_LocalsToFast(PyFrameObject *f, int clear)
1093
1095
PyObject * oldvalue = fast [i ];
1094
1096
int cellargoffset = CO_CELL_NOT_AN_ARG ;
1095
1097
if (kind & CO_FAST_CELL && co -> co_cell2arg != NULL ) {
1096
- assert (i >= co -> co_nlocals );
1098
+ assert (i - co -> co_nlocals >= 0 );
1099
+ assert (i - co -> co_nlocals < co -> co_ncellvars );
1097
1100
cellargoffset = co -> co_cell2arg [i - co -> co_nlocals ];
1098
1101
}
1099
1102
PyObject * cell = NULL ;
You can’t perform that action at this time.
0 commit comments