changeset: 76517:507a6703d6a3 user: Benjamin Peterson date: Tue Apr 24 10:32:57 2012 -0400 files: Objects/dictobject.c description: fix dict gc tracking (#13903) diff -r 9381e368b1ae -r 507a6703d6a3 Objects/dictobject.c --- a/Objects/dictobject.c Tue Apr 24 13:55:35 2012 +0200 +++ b/Objects/dictobject.c Tue Apr 24 10:32:57 2012 -0400 @@ -2022,6 +2022,8 @@ Py_XINCREF(value); split_copy->ma_values[i] = value; } + if (_PyObject_GC_IS_TRACKED(mp)) + _PyObject_GC_TRACK(split_copy); return (PyObject *)split_copy; } copy = PyDict_New(); @@ -2220,6 +2222,7 @@ return NULL; ep = find_empty_slot(mp, key, hash, &value_addr); } + MAINTAIN_TRACKING(mp, key, failobj); ep->me_key = key; ep->me_hash = hash; *value_addr = failobj;

AltStyle によって変換されたページ (->オリジナル) /