summaryrefslogtreecommitdiffstats
path: root/Modules/arraymodule.c
diff options
context:
space:
mode:
authorHye-Shik Chang <hyeshik@gmail.com>2006-03-07 15:39:21 (GMT)
committerHye-Shik Chang <hyeshik@gmail.com>2006-03-07 15:39:21 (GMT)
commit4af5c8cee4885df70884a58e2e74c48984bbe7c2 (patch)
treef4c33e559962940576f84b61f760a1b27a3b8618 /Modules/arraymodule.c
parentef1701f7d3a57427c1289bef32227a7aaac7905a (diff)
downloadcpython-4af5c8cee4885df70884a58e2e74c48984bbe7c2.zip
cpython-4af5c8cee4885df70884a58e2e74c48984bbe7c2.tar.gz
cpython-4af5c8cee4885df70884a58e2e74c48984bbe7c2.tar.bz2
SF #1444030: Fix several potential defects found by Coverity.
(reviewed by Neal Norwitz)
Diffstat (limited to 'Modules/arraymodule.c')
-rw-r--r--Modules/arraymodule.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index be12775..2318739 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -1852,10 +1852,13 @@ array_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
Py_DECREF(v);
}
} else if (initial != NULL && PyString_Check(initial)) {
- PyObject *t_initial = PyTuple_Pack(1,
- initial);
- PyObject *v =
- array_fromstring((arrayobject *)a,
+ PyObject *t_initial, *v;
+ t_initial = PyTuple_Pack(1, initial);
+ if (t_initial == NULL) {
+ Py_DECREF(a);
+ return NULL;
+ }
+ v = array_fromstring((arrayobject *)a,
t_initial);
Py_DECREF(t_initial);
if (v == NULL) {