]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
dict: Remove redundant incref of immortal object Py_EMPTY_KEYS (GH-133200)
authorMae Hood <22501070+biglizards@users.noreply.github.com>
Wed, 30 Apr 2025 23:39:26 +0000 (00:39 +0100)
committerGitHub <noreply@github.com>
Wed, 30 Apr 2025 23:39:26 +0000 (08:39 +0900)
Objects/dictobject.c

index 00658a8ac35bcf1e9c8b781742a3d43f2ec1ac09..59b0cf1ce7d42280631d22f5270307a2cf7d7919 100644 (file)
@@ -4851,7 +4851,8 @@ dict_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
 
     d->ma_used = 0;
     d->_ma_watcher_tag = 0;
-    dictkeys_incref(Py_EMPTY_KEYS);
+    // We don't inc ref empty keys because they're immortal
+    assert((Py_EMPTY_KEYS)->dk_refcnt == _Py_DICT_IMMORTAL_INITIAL_REFCNT);
     d->ma_keys = Py_EMPTY_KEYS;
     d->ma_values = NULL;
     ASSERT_CONSISTENT(d);