[Python-Dev] Could someone review GH-2974 which add missing PyObject_GC_UnTrack()?
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?
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