summaryrefslogtreecommitdiffstats
path: root/Modules/arraymodule.c
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2008-02-15 19:11:46 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2008-02-15 19:11:46 (GMT)
commit9c04257bf91df5739bc071ba07c307a8cce3063b (patch)
treebe1dc8b466aa702c99001bdbcf43549cee88bde9 /Modules/arraymodule.c
parentc7cf36e501cd9b9fa42a86550a3adfce18e8a64a (diff)
downloadcpython-9c04257bf91df5739bc071ba07c307a8cce3063b.zip
cpython-9c04257bf91df5739bc071ba07c307a8cce3063b.tar.gz
cpython-9c04257bf91df5739bc071ba07c307a8cce3063b.tar.bz2
Fix deallocation of array objects when allocation ran out of memory.
Diffstat (limited to 'Modules/arraymodule.c')
-rw-r--r--Modules/arraymodule.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index da6e88f..eafea98 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -439,6 +439,7 @@ newarrayobject(PyTypeObject *type, Py_ssize_t size, struct arraydescr *descr)
else {
op->ob_item = PyMem_NEW(char, nbytes);
if (op->ob_item == NULL) {
+ _Py_ForgetReference(op);
PyObject_Del(op);
return PyErr_NoMemory();
}