From b3b4a9d3001f1fc7df8efcccdce081de54fa5eab Mon Sep 17 00:00:00 2001 From: Alexey Izbyshev Date: Sun, 18 Feb 2018 20:57:24 +0300 Subject: 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. --- Python/fileutils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Python/fileutils.c b/Python/fileutils.c index 3cf8b7a..32aeea4 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -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; -- cgit v0.12