This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

作者 amaury.forgeotdarc
收信人 amaury.forgeotdarc, theller
日期 2009-02-10.12:48:02
SpamBayes Score 3.7931839e-06
Marked as misclassified
Message-id <1234270084.65.0.170774259742.issue5203@psf.upfronthosting.co.za>
In-reply-to
内容
The following code segfaults on platforms where HAVE_USABLE_WCHAR_T is
not defined (for example: narrow unicode build and sizeof(wchar_t)==4)

>>> from ctypes import *
>>> import ctypes.util
>>> CDLL(ctypes.util.find_library('c')).wcslen(u'text')

(it works if the argtypes member is defined)

The reason is a non initialized structure, and the correction is trivial:

--- Modules/_ctypes/callproc.c~ 2007-06-15 19:10:41.000000000 +0200
+++ Modules/_ctypes/callproc.c  2009-02-10 13:28:10.000000000 +0100
@@ -538,6 +538,7 @@
                int size = PyUnicode_GET_SIZE(obj);
                size += 1; /* terminating NUL */
                size *= sizeof(wchar_t);
+               pa->ffi_type = &ffi_type_pointer;
                pa->value.p = PyMem_Malloc(size);
                if (!pa->value.p) {
                        PyErr_NoMemory();
历史
日期 用户 动作 参数
2009-02-10 12:48:05amaury.forgeotdarc修改recipients: + amaury.forgeotdarc, theller
2009-02-10 12:48:04amaury.forgeotdarc修改messageid: <1234270084.65.0.170774259742.issue5203@psf.upfronthosting.co.za>
2009-02-10 12:48:03amaury.forgeotdarc链接issue5203 messages
2009-02-10 12:48:02amaury.forgeotdarc创建