From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sun, 18 Feb 2018 18:58:09 +0000 (-0800) Subject: bpo-32869: Fix incorrect dst buffer size for MultiByteToWideChar (GH-5739) X-Git-Tag: v3.6.5rc1~68 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=65a13c19e86488119cc9bc192f5a0b846d90940f;p=thirdparty%2FPython%2Fcpython.git 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 b3b4a9d3001f1fc7df8efcccdce081de54fa5eab) Co-authored-by: Alexey Izbyshev --- diff --git a/Python/fileutils.c b/Python/fileutils.c index 899ea8aecac0..b9638d2df513 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -1185,7 +1185,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;