(original) (raw)

changeset: 84517:ba79f6a86300 user: Victor Stinner victor.stinner@gmail.com date: Tue Jul 09 00:27:12 2013 +0200 files: Modules/_ctypes/callproc.c description: Issue #18408: Fix ConvParam() of the ctypes module to handle paramfunc failure (MemoryError). diff -r c505ece63c80 -r ba79f6a86300 Modules/_ctypes/callproc.c --- a/Modules/_ctypes/callproc.c Mon Jul 08 14:33:03 2013 -0700 +++ b/Modules/_ctypes/callproc.c Tue Jul 09 00:27:12 2013 +0200 @@ -620,6 +620,8 @@ assert(dict->paramfunc); /* If it has an stgdict, it is a CDataObject */ carg = dict->paramfunc((CDataObject *)obj); + if (carg == NULL) + return -1; pa->ffi_type = carg->pffi_type; memcpy(&pa->value, &carg->value, sizeof(pa->value)); pa->keep = (PyObject *)carg; /victor.stinner@gmail.com