Issue #18556: Check the return value for PyUnicode_AsWideChar() in

U_set() from ctypes.

CID #486657
This commit is contained in:
Brett Cannon 2013-07-25 17:34:00 -04:00
parent b76b1b1ec8
commit 845f7845aa
2 changed files with 8 additions and 1 deletions

View File

@ -52,6 +52,9 @@ Core and Builtins
Library
-------
- Issue #18556: Check the return value of a PyUnicode_AsWideChar() call in
ctypes' U_set().
- Issue #18549: Eliminate dead code in socket_ntohl()
- Issue #18514: Fix unreachable Py_DECREF() call in PyCData_FromBaseObj()

View File

@ -1260,7 +1260,11 @@ U_set(void *ptr, PyObject *value, Py_ssize_t length)
} else if (size < length-1)
/* copy terminating NUL character if there is space */
size += 1;
PyUnicode_AsWideChar(value, (wchar_t *)ptr, size);
if (PyUnicode_AsWideChar(value, (wchar_t *)ptr, size) == -1) {
return NULL;
}
return value;
}