[Python-checkins] r50514 - in python/trunk: Misc/NEWS Modules/_ctypes/_ctypes.c
thomas.heller
python-checkins at python.org
Mon Jul 10 11:31:07 CEST 2006
Author: thomas.heller
Date: Mon Jul 10 11:31:06 2006
New Revision: 50514
Modified:
python/trunk/Misc/NEWS
python/trunk/Modules/_ctypes/_ctypes.c
Log:
Fixed a segfault when ctypes.wintypes were imported on
non-Windows machines.
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS (original)
+++ python/trunk/Misc/NEWS Mon Jul 10 11:31:06 2006
@@ -39,6 +39,9 @@
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
integer or long, without range checking.
Modified: python/trunk/Modules/_ctypes/_ctypes.c
==============================================================================
--- python/trunk/Modules/_ctypes/_ctypes.c (original)
+++ python/trunk/Modules/_ctypes/_ctypes.c Mon Jul 10 11:31:06 2006
@@ -1384,13 +1384,20 @@
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;
More information about the Python-checkins
mailing list