Merged revisions 55027 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk/Modules/_ctypes ........ r55027 | thomas.heller | 2007-04-30 18:04:57 +0200 (Mo, 30 Apr 2007) | 8 lines When accessing the .value attribute of a c_wchar_p instance, and the instance does not point to a valid wchar_t zero-terminated string, raise a ValueError. c_char_p does this already. The ValueError message now contains the correct pointer address. Will backport to release25-maint. ........
This commit is contained in:
parent
e5ebbecae3
commit
412b20bd31
|
@ -1333,7 +1333,7 @@ z_get(void *ptr, unsigned size)
|
|||
if (IsBadStringPtrA(*(char **)ptr, -1)) {
|
||||
PyErr_Format(PyExc_ValueError,
|
||||
"invalid string pointer %p",
|
||||
ptr);
|
||||
*(char **)ptr);
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
@ -1414,9 +1414,17 @@ Z_get(void *ptr, unsigned size)
|
|||
{
|
||||
wchar_t *p;
|
||||
p = *(wchar_t **)ptr;
|
||||
if (p)
|
||||
if (p) {
|
||||
#if defined(MS_WIN32) && !defined(_WIN32_WCE)
|
||||
if (IsBadStringPtrW(*(wchar_t **)ptr, -1)) {
|
||||
PyErr_Format(PyExc_ValueError,
|
||||
"invalid string pointer %p",
|
||||
*(wchar_t **)ptr);
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
return PyUnicode_FromWideChar(p, wcslen(p));
|
||||
else {
|
||||
} else {
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue