summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorThomas Heller <theller@ctypes.org>2006-08-14 07:14:09 (GMT)
committerThomas Heller <theller@ctypes.org>2006-08-14 07:14:09 (GMT)
commitefa27273349ad25400682e232e6dc793198320da (patch)
tree97cade899851c7e116d6503ae090c16878e52151 /Modules
parentacdedfbf0ac787de07ff1bf36e935ce1230db530 (diff)
downloadcpython-efa27273349ad25400682e232e6dc793198320da.zip
cpython-efa27273349ad25400682e232e6dc793198320da.tar.gz
cpython-efa27273349ad25400682e232e6dc793198320da.tar.bz2
Check for NULL return value from new_CArgObject().
Fixes klockwork issues #183, #184, #185.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_ctypes/_ctypes.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index cf0b20d..5f3d2ef 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1067,6 +1067,8 @@ c_wchar_p_from_param(PyObject *type, PyObject *value)
struct fielddesc *fd = getentry("Z");
parg = new_CArgObject();
+ if (parg == NULL)
+ return NULL;
parg->pffi_type = &ffi_type_pointer;
parg->tag = 'Z';
parg->obj = fd->setfunc(&parg->value, value, 0);
@@ -1119,6 +1121,8 @@ c_char_p_from_param(PyObject *type, PyObject *value)
struct fielddesc *fd = getentry("z");
parg = new_CArgObject();
+ if (parg == NULL)
+ return NULL;
parg->pffi_type = &ffi_type_pointer;
parg->tag = 'z';
parg->obj = fd->setfunc(&parg->value, value, 0);
@@ -1176,6 +1180,8 @@ c_void_p_from_param(PyObject *type, PyObject *value)
struct fielddesc *fd = getentry("P");
parg = new_CArgObject();
+ if (parg == NULL)
+ return NULL;
parg->pffi_type = &ffi_type_pointer;
parg->tag = 'P';
parg->obj = fd->setfunc(&parg->value, value, 0);