]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-130547: Fix race between dict_dealloc and split_keys_entry_added (gh-130778...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 5 Mar 2025 01:41:29 +0000 (02:41 +0100)
committerGitHub <noreply@github.com>
Wed, 5 Mar 2025 01:41:29 +0000 (10:41 +0900)
gh-130547: Fix race between dict_dealloc and split_keys_entry_added (gh-130778)
(cherry picked from commit 80e6d3ec4972220587c8b883161311a49ea8d0ff)

Co-authored-by: Donghee Na <donghee.na@python.org>
Objects/dictobject.c

index f947b44b039eb47c535ef7c50b92de5cfc8f9437..fd8453c5d9968dc29f3af3d476a8d84e1ef67d7f 100644 (file)
@@ -3167,7 +3167,7 @@ dict_dealloc(PyObject *self)
     Py_TRASHCAN_BEGIN(mp, dict_dealloc)
     if (values != NULL) {
         if (values->embedded == 0) {
-            for (i = 0, n = mp->ma_keys->dk_nentries; i < n; i++) {
+            for (i = 0, n = values->capacity; i < n; i++) {
                 Py_XDECREF(values->values[i]);
             }
             free_values(values, false);