Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e80b29b

Browse files
committed
cleanup Ellipsis and NotImplemented strings after we're done
1 parent 020bf28 commit e80b29b

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

Modules/_pickle.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2815,18 +2815,24 @@ static int
28152815
save_ellipsis(PicklerObject *self, PyObject *obj)
28162816
{
28172817
PyObject *str = PyUnicode_FromString("Ellipsis");
2818+
int res;
28182819
if (str == NULL)
28192820
return -1;
2820-
return save_global(self, Py_Ellipsis, str);
2821+
res = save_global(self, Py_Ellipsis, str);
2822+
Py_DECREF(str);
2823+
return res;
28212824
}
28222825

28232826
static int
28242827
save_notimplemented(PicklerObject *self, PyObject *obj)
28252828
{
28262829
PyObject *str = PyUnicode_FromString("NotImplemented");
2830+
int res;
28272831
if (str == NULL)
28282832
return -1;
2829-
return save_global(self, Py_NotImplemented, str);
2833+
res = save_global(self, Py_NotImplemented, str);
2834+
Py_DECREF(str);
2835+
return res;
28302836
}
28312837

28322838
static int

0 commit comments

Comments
 (0)