diff options
-rw-r--r-- | Objects/stringobject.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 0664142361..78713232ee 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); } |