mirror of https://github.com/python/cpython
Fixed a segfault when ctypes.wintypes were imported on
non-Windows machines.
This commit is contained in:
parent
dda068dee1
commit
7b1da513fd
|
@ -39,6 +39,9 @@ Core and builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Fixed a segfault in _ctypes when ctypes.wintypes were imported
|
||||||
|
on non-Windows platforms.
|
||||||
|
|
||||||
- Bug #1518190: The ctypes.c_void_p constructor now accepts any
|
- Bug #1518190: The ctypes.c_void_p constructor now accepts any
|
||||||
integer or long, without range checking.
|
integer or long, without range checking.
|
||||||
|
|
||||||
|
|
|
@ -1384,13 +1384,20 @@ SimpleType_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
Py_DECREF(result);
|
Py_DECREF(result);
|
||||||
return NULL;
|
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(
|
stgdict = (StgDictObject *)PyObject_CallObject(
|
||||||
(PyObject *)&StgDict_Type, NULL);
|
(PyObject *)&StgDict_Type, NULL);
|
||||||
if (!stgdict)
|
if (!stgdict)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
fmt = getentry(PyString_AS_STRING(proto));
|
|
||||||
|
|
||||||
stgdict->ffi_type_pointer = *fmt->pffi_type;
|
stgdict->ffi_type_pointer = *fmt->pffi_type;
|
||||||
stgdict->align = fmt->pffi_type->alignment;
|
stgdict->align = fmt->pffi_type->alignment;
|
||||||
stgdict->length = 0;
|
stgdict->length = 0;
|
||||||
|
|
Loading…
Reference in New Issue