Issue #17034: Use Py_CLEAR() in stringobject.c.
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 0664142..7871323 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -3859,8 +3859,7 @@
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 @@
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 @@
"mortal/immortal\n", mortal_size, immortal_size);
Py_DECREF(keys);
PyDict_Clear(interned);
- Py_DECREF(interned);
- interned = NULL;
+ Py_CLEAR(interned);
}