Skip to content

Potential memory leak in Parser/parser.c #101046

Closed
@RuiliF

Description

@RuiliF

Bug report

In Parse/parse.c, function _loop0_1_rule (line 23809), object _children

 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; } 

If PyMem_Realloc fails, the original object will be kept untouched. Thus returning NULL without free'ing _children will cause a memory leak.

Your environment

Python 3.12

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions