]> granicus.if.org Git - python/commitdiff
Issue #18408: _PyMemoTable_ResizeTable() now restores the old table if
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 11 Jul 2013 22:53:26 +0000 (00:53 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 11 Jul 2013 22:53:26 +0000 (00:53 +0200)
allocating a bigger table failed

PyMemoTable destructor does crash if mt_table is NULL.

Modules/_pickle.c

index 8b3438e4e3721227b99dd52f4b3275d458a44cc1..888a498d30a21dacff954cfe48a85b7019ee399c 100644 (file)
@@ -529,7 +529,7 @@ _PyMemoTable_ResizeTable(PyMemoTable *self, Py_ssize_t min_size)
     oldtable = self->mt_table;
     self->mt_table = PyMem_MALLOC(new_size * sizeof(PyMemoEntry));
     if (self->mt_table == NULL) {
-        PyMem_FREE(oldtable);
+        self->mt_table = oldtable;
         PyErr_NoMemory();
         return -1;
     }