diff --git a/Modules/unicodedata.c b/Modules/unicodedata.c index 669aa26aee5dc1..6904ee14811d48 100644 --- a/Modules/unicodedata.c +++ b/Modules/unicodedata.c @@ -1885,9 +1885,11 @@ typedef struct { static void Segment_dealloc(PyObject *self) { + PyTypeObject *tp = Py_TYPE(self); PyObject_GC_UnTrack(self); Py_DECREF(((SegmentObject *)self)->string); - PyObject_GC_Del(self); + tp->tp_free(self); + Py_DECREF(tp); } static int @@ -1959,9 +1961,11 @@ typedef struct { static void GBI_dealloc(PyObject *self) { + PyTypeObject *tp = Py_TYPE(self); PyObject_GC_UnTrack(self); Py_DECREF(((GraphemeBreakIterator *)self)->iter.str); - PyObject_GC_Del(self); + tp->tp_free(self); + Py_DECREF(tp); } static int