cleanup Ellipsis and NotImplemented strings after we're done
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 9410e52..5ba5599 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -2815,18 +2815,24 @@
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