(original) (raw)
changeset: 84576:f85fcbbbe8de user: Victor Stinner victor.stinner@gmail.com date: Fri Jul 12 00:53:26 2013 +0200 files: Modules/_pickle.c description: Issue #18408: _PyMemoTable_ResizeTable() now restores the old table if allocating a bigger table failed PyMemoTable destructor does crash if mt_table is NULL. diff -r affb87b1d7ec -r f85fcbbbe8de Modules/_pickle.c --- a/Modules/_pickle.c Fri Jul 12 00:42:14 2013 +0200 +++ b/Modules/_pickle.c Fri Jul 12 00:53:26 2013 +0200 @@ -529,7 +529,7 @@ 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; } /victor.stinner@gmail.com