Fix PyUnicode_InternImmortal(): PyUnicode_InternInPlace() may changes *p
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 58f657e..aedcec5 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -14001,11 +14001,9 @@
void
PyUnicode_InternImmortal(PyObject **p)
{
- PyUnicodeObject *u = (PyUnicodeObject *)*p;
-
PyUnicode_InternInPlace(p);
if (PyUnicode_CHECK_INTERNED(*p) != SSTATE_INTERNED_IMMORTAL) {
- _PyUnicode_STATE(u).interned = SSTATE_INTERNED_IMMORTAL;
+ _PyUnicode_STATE(*p).interned = SSTATE_INTERNED_IMMORTAL;
Py_INCREF(*p);
}
}