Browse Source

Fix leaks in Python-ast.c (#16127)

pull/16149/head
Eddie Elizondo 7 years ago
committed by Dino Viehland
parent
commit
0247e80f3c
  1. 6
      Parser/asdl_c.py
  2. 6
      Python/Python-ast.c

6
Parser/asdl_c.py

@ -638,9 +638,13 @@ static void
ast_dealloc(AST_object *self)
{
/* bpo-31095: UnTrack is needed before calling any callbacks */
PyTypeObject *tp = Py_TYPE(self);
PyObject_GC_UnTrack(self);
Py_CLEAR(self->dict);
Py_TYPE(self)->tp_free(self);
freefunc free_func = PyType_GetSlot(tp, Py_tp_free);
assert(free_func != NULL);
free_func(self);
Py_DECREF(tp);
}
static int

6
Python/Python-ast.c

@ -1130,9 +1130,13 @@ static void
ast_dealloc(AST_object *self)
{
/* bpo-31095: UnTrack is needed before calling any callbacks */
PyTypeObject *tp = Py_TYPE(self);
PyObject_GC_UnTrack(self);
Py_CLEAR(self->dict);
Py_TYPE(self)->tp_free(self);
freefunc free_func = PyType_GetSlot(tp, Py_tp_free);
assert(free_func != NULL);
free_func(self);
Py_DECREF(tp);
}
static int

Loading…
Cancel
Save