diff --git a/Misc/NEWS b/Misc/NEWS index b8bcc211bf2..0bfbd3861ab 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -90,6 +90,9 @@ Core and Builtins Library ------- +- Issue #13015: Fix a possible reference leak in defaultdict.__repr__. + Patch by Suman Saha. + - Issue #13979: A bug in ctypes.util.find_library that caused the wrong library name to be returned has been fixed. diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index ea5f7795dc9..ccc3043cae0 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -1475,8 +1475,10 @@ defdict_repr(defdictobject *dd) { int status = Py_ReprEnter(dd->default_factory); if (status != 0) { - if (status < 0) + if (status < 0) { + Py_DECREF(baserepr); return NULL; + } defrepr = PyString_FromString("..."); } else