From: Benjamin Peterson Date: Fri, 16 Mar 2012 23:45:31 +0000 (-0500) Subject: cleanup Ellipsis and NotImplemented strings after we're done X-Git-Tag: v3.3.0a2~140 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e80b29b5b62b264d018260dd19ae9b5ba46d68d4;p=python cleanup Ellipsis and NotImplemented strings after we're done --- diff --git a/Modules/_pickle.c b/Modules/_pickle.c index 9410e528b6..5ba559948f 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -2815,18 +2815,24 @@ static int save_ellipsis(PicklerObject *self, PyObject *obj) { PyObject *str = PyUnicode_FromString("Ellipsis"); + int res; if (str == NULL) return -1; - return save_global(self, Py_Ellipsis, str); + res = save_global(self, Py_Ellipsis, str); + Py_DECREF(str); + return res; } static int save_notimplemented(PicklerObject *self, PyObject *obj) { PyObject *str = PyUnicode_FromString("NotImplemented"); + int res; if (str == NULL) return -1; - return save_global(self, Py_NotImplemented, str); + res = save_global(self, Py_NotImplemented, str); + Py_DECREF(str); + return res; } static int