]> granicus.if.org Git - python/commitdiff
Issue #25410: Fixed a memory leak in OrderedDict in the case when key's hash
authorSerhiy Storchaka <storchaka@gmail.com>
Tue, 20 Oct 2015 15:21:48 +0000 (18:21 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Tue, 20 Oct 2015 15:21:48 +0000 (18:21 +0300)
calculation fails.

Objects/odictobject.c

index 0044b329748370f59dd66220ac9d63a1a2c82875..a0288841a42486190ca52135a84517ec6c525aed 100644 (file)
@@ -648,11 +648,11 @@ _odict_add_new_node(PyODictObject *od, PyObject *key)
     Py_ssize_t i;
     _ODictNode *node;
 
-    Py_INCREF(key);
     hash = PyObject_Hash(key);
     if (hash == -1)
         return -1;
 
+    Py_INCREF(key);
     i = _odict_get_index(od, key);
     if (i < 0) {
         if (!PyErr_Occurred())