summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2015-03-24 23:28:54 -0700
committerSteve Dower <steve.dower@microsoft.com>2015-03-24 23:28:54 -0700
commitef42dae7fa69dccbf5ca6ba50545cd9c8c026667 (patch)
tree703387c15519015acc72ea873185347fc5dfa380
parentc98290b91bb01b10d7800a1f8b65a991c6815e8f (diff)
downloadcpython-git-ef42dae7fa69dccbf5ca6ba50545cd9c8c026667.tar.gz
Issue #23765: Remove IsBadStringPtr calls in ctypes
Also renames a local to avoid warnings about shadowing
-rw-r--r--Modules/_ctypes/cfield.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/Modules/_ctypes/cfield.c b/Modules/_ctypes/cfield.c
index 2078291731..4bd022dcda 100644
--- a/Modules/_ctypes/cfield.c
+++ b/Modules/_ctypes/cfield.c
@@ -1354,14 +1354,6 @@ z_get(void *ptr, Py_ssize_t size)
{
/* XXX What about invalid pointers ??? */
if (*(void **)ptr) {
-#if defined(MS_WIN32) && !defined(_WIN32_WCE)
- if (IsBadStringPtrA(*(char **)ptr, -1)) {
- PyErr_Format(PyExc_ValueError,
- "invalid string pointer %p",
- *(char **)ptr);
- return NULL;
- }
-#endif
return PyBytes_FromStringAndSize(*(char **)ptr,
strlen(*(char **)ptr));
} else {
@@ -1418,14 +1410,6 @@ Z_get(void *ptr, Py_ssize_t size)
wchar_t *p;
p = *(wchar_t **)ptr;
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 {
Py_INCREF(Py_None);
@@ -1455,15 +1439,15 @@ BSTR_set(void *ptr, PyObject *value, Py_ssize_t size)
/* create a BSTR from value */
if (value) {
wchar_t* wvalue;
- Py_ssize_t size;
- wvalue = PyUnicode_AsUnicodeAndSize(value, &size);
+ Py_ssize_t wsize;
+ wvalue = PyUnicode_AsUnicodeAndSize(value, &wsize);
if (wvalue == NULL)
return NULL;
- if ((unsigned) size != size) {
+ if ((unsigned) wsize != wsize) {
PyErr_SetString(PyExc_ValueError, "String too long for BSTR");
return NULL;
}
- bstr = SysAllocStringLen(wvalue, (unsigned)size);
+ bstr = SysAllocStringLen(wvalue, (unsigned)wsize);
Py_DECREF(value);
} else
bstr = NULL;