From: Serhiy Storchaka Date: Sat, 2 Feb 2013 16:43:58 +0000 (+0200) Subject: Issue #17034: Use Py_CLEAR() in stringobject.c. X-Git-Tag: v2.7.4rc1~161 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a8d64ae304f42511520960ab3c3e22bb055b5d10;p=thirdparty%2FPython%2Fcpython.git Issue #17034: Use Py_CLEAR() in stringobject.c. --- diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 06641423612a..78713232ee8b 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -3859,8 +3859,7 @@ PyString_Concat(register PyObject **pv, register PyObject *w) if (*pv == NULL) return; if (w == NULL || !PyString_Check(*pv)) { - Py_DECREF(*pv); - *pv = NULL; + Py_CLEAR(*pv); return; } v = string_concat((PyStringObject *) *pv, w); @@ -4790,12 +4789,9 @@ void PyString_Fini(void) { int i; - for (i = 0; i < UCHAR_MAX + 1; i++) { - Py_XDECREF(characters[i]); - characters[i] = NULL; - } - Py_XDECREF(nullstring); - nullstring = NULL; + for (i = 0; i < UCHAR_MAX + 1; i++) + Py_CLEAR(characters[i]); + Py_CLEAR(nullstring); } void _Py_ReleaseInternedStrings(void) @@ -4845,6 +4841,5 @@ void _Py_ReleaseInternedStrings(void) "mortal/immortal\n", mortal_size, immortal_size); Py_DECREF(keys); PyDict_Clear(interned); - Py_DECREF(interned); - interned = NULL; + Py_CLEAR(interned); }