if (_n == _children_capacity) {
_children_capacity *= 2;
void **_new_children = PyMem_Realloc(_children, _children_capacity*sizeof(void *));
if (!_new_children) {
p->error_indicator = 1;
PyErr_NoMemory();
p->level--;
return NULL;
}
_children = _new_children;
}
Bug report
In
Parse/parse.c, function_loop0_1_rule(line 23809), object_childrenIf
PyMem_Reallocfails, the original object will be kept untouched. Thus returning NULL without free'ing_childrenwill cause a memory leak.Your environment
Python 3.12
Linked PRs