bpo-32869: Fix incorrect dst buffer size for MultiByteToWideChar (#5739)

This function expects the destination buffer size to be given
in wide characters, not bytes.
This commit is contained in:
Alexey Izbyshev 2018-02-18 20:57:24 +03:00 committed by Serhiy Storchaka
parent e8eb972514
commit b3b4a9d300
1 changed files with 2 additions and 1 deletions

View File

@ -1289,7 +1289,8 @@ _Py_fopen_obj(PyObject *path, const char *mode)
if (wpath == NULL)
return NULL;
usize = MultiByteToWideChar(CP_ACP, 0, mode, -1, wmode, sizeof(wmode));
usize = MultiByteToWideChar(CP_ACP, 0, mode, -1,
wmode, Py_ARRAY_LENGTH(wmode));
if (usize == 0) {
PyErr_SetFromWindowsErr(0);
return NULL;