[ctypes-commit] ctypes/source _ctypes.c,1.200,1.201
Brought to you by:
theller
From: Thomas H. <th...@us...> - 2005-01-26 12:23:01
|
Update of /cvsroot/ctypes/ctypes/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18362 Modified Files: _ctypes.c Log Message: Prevent a crash when a function's restype or argtypes attribute is deleted. Index: _ctypes.c =================================================================== RCS file: /cvsroot/ctypes/ctypes/source/_ctypes.c,v retrieving revision 1.200 retrieving revision 1.201 diff -C2 -d -r1.200 -r1.201 *** _ctypes.c 20 Jan 2005 21:11:25 -0000 1.200 --- _ctypes.c 26 Jan 2005 12:22:50 -0000 1.201 *************** *** 2126,2129 **** --- 2126,2134 ---- CFuncPtr_set_restype(CFuncPtrObject *self, PyObject *ob) { + if (ob == NULL) { + Py_XDECREF(self->restype); + self->restype = NULL; + return 0; + } if (ob != Py_None && !PyType_stgdict(ob) && !PyCallable_Check(ob)) { PyErr_SetString(PyExc_TypeError, *************** *** 2161,2165 **** PyObject *converters; ! if (ob == Py_None) { Py_XDECREF(self->converters); self->converters = NULL; --- 2166,2170 ---- PyObject *converters; ! if (ob == NULL || ob == Py_None) { Py_XDECREF(self->converters); self->converters = NULL; |