diff options
| author | Thomas Heller <theller@ctypes.org> | 2006-07-10 09:31:06 +0000 |
|---|---|---|
| committer | Thomas Heller <theller@ctypes.org> | 2006-07-10 09:31:06 +0000 |
| commit | 4e55f28746611e87f01a0572ca7eb2c026355d16 (patch) | |
| tree | 33b14ebbcc80a4028dfa59391bc2cc87da2392fb /Modules | |
| parent | 5ab31fde4030df731dc58dc73ade4ff8d92bc122 (diff) | |
| download | cpython-4e55f28746611e87f01a0572ca7eb2c026355d16.tar.gz | |
Fixed a segfault when ctypes.wintypes were imported on
non-Windows machines.
Diffstat (limited to 'Modules')
| -rw-r--r-- | Modules/_ctypes/_ctypes.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 17bb1e8309..f786ead4ba 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -1384,13 +1384,20 @@ SimpleType_new(PyTypeObject *type, PyObject *args, PyObject *kwds) Py_DECREF(result); return NULL; } + fmt = getentry(PyString_AS_STRING(proto)); + if (fmt == NULL) { + Py_DECREF(result); + PyErr_Format(PyExc_ValueError, + "_type_ '%s' not supported", + PyString_AS_STRING(proto)); + return NULL; + } + stgdict = (StgDictObject *)PyObject_CallObject( (PyObject *)&StgDict_Type, NULL); if (!stgdict) return NULL; - fmt = getentry(PyString_AS_STRING(proto)); - stgdict->ffi_type_pointer = *fmt->pffi_type; stgdict->align = fmt->pffi_type->alignment; stgdict->length = 0; |
