File tree Expand file tree Collapse file tree 1 file changed +16
-10
lines changed Expand file tree Collapse file tree 1 file changed +16
-10
lines changed Original file line number Diff line number Diff line change @@ -306,11 +306,14 @@ clear_tp_bases(PyTypeObject *self)
306
306
{
307
307
if (self -> tp_flags & _Py_TPFLAGS_STATIC_BUILTIN ) {
308
308
if (_Py_IsMainInterpreter (_PyInterpreterState_GET ())) {
309
- if (self -> tp_bases != NULL
310
- && PyTuple_GET_SIZE (self -> tp_bases ) > 0 )
311
- {
312
- assert (_Py_IsImmortal (self -> tp_bases ));
313
- _Py_ClearImmortal (self -> tp_bases );
309
+ if (self -> tp_bases != NULL ) {
310
+ if (PyTuple_GET_SIZE (self -> tp_bases ) == 0 ) {
311
+ Py_CLEAR (self -> tp_bases );
312
+ }
313
+ else {
314
+ assert (_Py_IsImmortal (self -> tp_bases ));
315
+ _Py_ClearImmortal (self -> tp_bases );
316
+ }
314
317
}
315
318
}
316
319
return ;
@@ -352,11 +355,14 @@ clear_tp_mro(PyTypeObject *self)
352
355
{
353
356
if (self -> tp_flags & _Py_TPFLAGS_STATIC_BUILTIN ) {
354
357
if (_Py_IsMainInterpreter (_PyInterpreterState_GET ())) {
355
- if (self -> tp_mro != NULL
356
- && PyTuple_GET_SIZE (self -> tp_mro ) > 0 )
357
- {
358
- assert (_Py_IsImmortal (self -> tp_mro ));
359
- _Py_ClearImmortal (self -> tp_mro );
358
+ if (self -> tp_mro != NULL ) {
359
+ if (PyTuple_GET_SIZE (self -> tp_mro ) == 0 ) {
360
+ Py_CLEAR (self -> tp_mro );
361
+ }
362
+ else {
363
+ assert (_Py_IsImmortal (self -> tp_mro ));
364
+ _Py_ClearImmortal (self -> tp_mro );
365
+ }
360
366
}
361
367
}
362
368
return ;
You can’t perform that action at this time.
0 commit comments