diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2014-02-09 13:33:53 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-02-09 13:33:53 +0200 |
commit | c2d47e10f770f449ed811e1de8a6fd8a6cb408c9 (patch) | |
tree | 202c6f694a7003b8b2814a615748e57b9110ab9a /Objects/tupleobject.c | |
parent | 8be62cb433ac40e3d51869352c5ee5bd1cd7df53 (diff) | |
download | cpython-c2d47e10f770f449ed811e1de8a6fd8a6cb408c9.tar.gz |
Issue #20437: Fixed 21 potential bugs when deleting objects references.
Diffstat (limited to 'Objects/tupleobject.c')
-rw-r--r-- | Objects/tupleobject.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c index ec3f91b2c6..123df8cef3 100644 --- a/Objects/tupleobject.c +++ b/Objects/tupleobject.c @@ -866,8 +866,7 @@ _PyTuple_Resize(PyObject **pv, Py_ssize_t newsize) _Py_ForgetReference((PyObject *) v); /* DECREF items deleted by shrinkage */ for (i = newsize; i < oldsize; i++) { - Py_XDECREF(v->ob_item[i]); - v->ob_item[i] = NULL; + Py_CLEAR(v->ob_item[i]); } sv = PyObject_GC_Resize(PyTupleObject, v, newsize); if (sv == NULL) { @@ -913,8 +912,7 @@ PyTuple_Fini(void) #if PyTuple_MAXSAVESIZE > 0 /* empty tuples are used all over the place and applications may * rely on the fact that an empty tuple is a singleton. */ - Py_XDECREF(free_list[0]); - free_list[0] = NULL; + Py_CLEAR(free_list[0]); (void)PyTuple_ClearFreeList(); #endif |