Issue#5203: ctypes segfaults when passing a unicode string to a

function without argtypes, if HAVE_USABLE_WCHAR_T is false.
This commit is contained in:
Thomas Heller 2009-02-10 18:43:01 +00:00
parent d155bbfbb2
commit 3689ae256e
2 changed files with 4 additions and 0 deletions

View File

@ -152,6 +152,9 @@ Core and Builtins
Library
-------
- Issue #5203: Fixed ctypes segfaults when passing a unicode string to a
function without argtypes (only occurs if HAVE_USABLE_WCHAR_T is false).
- Issue #3386: distutils.sysconfig.get_python_lib prefix argument was ignored
under NT and OS2. Patch by Philip Jenvey.

View File

@ -664,6 +664,7 @@ static int ConvParam(PyObject *obj, Py_ssize_t index, struct argument *pa)
return 0;
#else
int size = PyUnicode_GET_SIZE(obj);
pa->ffi_type = &ffi_type_pointer;
size += 1; /* terminating NUL */
size *= sizeof(wchar_t);
pa->value.p = PyMem_Malloc(size);