]> granicus.if.org Git - python/commitdiff
Merged revisions 69505 via svnmerge from
authorThomas Heller <theller@ctypes.org>
Tue, 10 Feb 2009 18:46:11 +0000 (18:46 +0000)
committerThomas Heller <theller@ctypes.org>
Tue, 10 Feb 2009 18:46:11 +0000 (18:46 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69505 | thomas.heller | 2009-02-10 19:43:01 +0100 (Di, 10 Feb 2009) | 3 lines

  Issue#5203: ctypes segfaults when passing a unicode string to a
  function without argtypes, if HAVE_USABLE_WCHAR_T is false.
........

Misc/NEWS
Modules/_ctypes/callproc.c

index 5057c2d7cde1552bf406c87b29ba1aa0060ddbf5..9176b6c807f6e1f71a5d7b338931d7cca1493ed1 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -80,6 +80,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.
 
index 7f7d641fe2cde5aecbcfa6a6352ae36e8577a0fb..8988c127b3f4383aa9ad1ef0aca175fbba4cad52 100644 (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);