diff options
author | Martin Wilke <miwi@FreeBSD.org> | 2008-09-08 00:14:06 +0000 |
---|---|---|
committer | Martin Wilke <miwi@FreeBSD.org> | 2008-09-08 00:14:06 +0000 |
commit | 8a1ff65b9b4abb36af6477b5c168037be07d4f71 (patch) | |
tree | b9ac213a94e3a8e1c94343b9c5297f42639bc33e /lang/python27/files/patch-modules_arraymodule.c | |
parent | 07d5244e8b5f934bc45867d9c55e8e55d26af59e (diff) |
Notes
Diffstat (limited to 'lang/python27/files/patch-modules_arraymodule.c')
-rw-r--r-- | lang/python27/files/patch-modules_arraymodule.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lang/python27/files/patch-modules_arraymodule.c b/lang/python27/files/patch-modules_arraymodule.c new file mode 100644 index 000000000000..738ee48f1485 --- /dev/null +++ b/lang/python27/files/patch-modules_arraymodule.c @@ -0,0 +1,33 @@ +--- Modules/arraymodule.c.orig 2008-02-15 19:11:46.000000000 +0000 ++++ Modules/arraymodule.c 2008-08-30 10:39:43.000000000 +0100 +@@ -816,6 +816,7 @@ + array_do_extend(arrayobject *self, PyObject *bb) + { + Py_ssize_t size; ++ char *old_item; + + if (!array_Check(bb)) + return array_iter_extend(self, bb); +@@ -831,10 +832,11 @@ + return -1; + } + size = self->ob_size + b->ob_size; ++ old_item = self->ob_item; + PyMem_RESIZE(self->ob_item, char, size*self->ob_descr->itemsize); + if (self->ob_item == NULL) { +- PyObject_Del(self); +- PyErr_NoMemory(); ++ self->ob_item = old_item; ++ PyErr_NoMemory(); + return -1; + } + memcpy(self->ob_item + self->ob_size*self->ob_descr->itemsize, +@@ -886,7 +888,7 @@ + if (size > PY_SSIZE_T_MAX / n) { + return PyErr_NoMemory(); + } +- PyMem_Resize(items, char, n * size); ++ PyMem_RESIZE(items, char, n * size); + if (items == NULL) + return PyErr_NoMemory(); + p = items; |