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

This function expects the destination buffer size to be given
in wide characters, not bytes.
(cherry picked from commit b3b4a9d300)

Co-authored-by: Alexey Izbyshev <izbyshev@users.noreply.github.com>
This commit is contained in:
Miss Islington (bot) 2018-02-18 10:40:07 -08:00 committed by GitHub
parent 2e84e47626
commit ca82e3c0ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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;