[Python-Dev] Could someone review GH-2974 which add missing PyObject_GC_UnTrack()?

INADA Naoki songofacandy at gmail.com
Fri Aug 18 07:04:33 EDT 2017


I created PR which fixes potential crash.
Serhiy Storchaka approved it already, but he wants one other
review from core dev.  And I updated document after his review too.

So I want more one reviewer for the PR.
Someone help me?


## Background

For GC types, tp_dealloc should call PyObject_GC_UnTrack() before
calling any APIs which can run arbitrary code, including Py_DECREF.

Without calling it, GC may happen during tp_dealloc and GC will find
object which refcnt == 0.

I checked all GC types and find some unsafe tp_dealloc.
Even "extending and embedding" document missed untracking.


INADA Naoki  <songofacandy at gmail.com>

More information about the Python-Dev mailing list