]> granicus.if.org Git - python/commitdiff
Check for NULL return value from new_CArgObject().
authorThomas Heller <theller@ctypes.org>
Mon, 14 Aug 2006 07:14:09 +0000 (07:14 +0000)
committerThomas Heller <theller@ctypes.org>
Mon, 14 Aug 2006 07:14:09 +0000 (07:14 +0000)
Fixes klockwork issues #183, #184, #185.

Modules/_ctypes/_ctypes.c

index cf0b20dd6f9d4f75bd3403536eeec8406e980019..5f3d2ef12648da522f0977970fea57086937e395 100644 (file)
@@ -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);