Check for NULL return value from new_CArgObject calls.
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index db13910..3940de3 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1282,6 +1282,8 @@
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);
@@ -1297,6 +1299,8 @@
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);
@@ -1333,6 +1337,8 @@
CFuncPtrObject *func;
func = (CFuncPtrObject *)value;
parg = new_CArgObject();
+ if (parg == NULL)
+ return NULL;
parg->pffi_type = &ffi_type_pointer;
parg->tag = 'P';
Py_INCREF(value);