From: Victor Stinner Date: Mon, 30 Sep 2019 10:53:17 +0000 (+0200) Subject: bpo-38304: Fix PyConfig usage in python_uwp.cpp (GH-16488) X-Git-Tag: v3.8.0rc1~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=81f6b031c46721478372d77fe2e55aa1f8300ae1;p=thirdparty%2FPython%2Fcpython.git bpo-38304: Fix PyConfig usage in python_uwp.cpp (GH-16488) * Set PyPreConfig.struct_size and PyConfig.struct_size as required by the API. * PyPreConfig_InitPythonConfig() can now fail: check PyStatus result. --- diff --git a/PC/python_uwp.cpp b/PC/python_uwp.cpp index 06c1dd353655..2656d188c250 100644 --- a/PC/python_uwp.cpp +++ b/PC/python_uwp.cpp @@ -167,7 +167,10 @@ wmain(int argc, wchar_t **argv) PyStatus status; PyPreConfig preconfig; + preconfig.struct_size = sizeof(PyPreConfig); + PyConfig config; + config.struct_size = sizeof(PyConfig); const wchar_t *moduleName = NULL; const wchar_t *p = wcsrchr(argv[0], L'\\'); @@ -186,7 +189,10 @@ wmain(int argc, wchar_t **argv) } } - PyPreConfig_InitPythonConfig(&preconfig); + status = PyPreConfig_InitPythonConfig(&preconfig); + if (PyStatus_Exception(status)) { + goto fail_without_config; + } if (!moduleName) { status = Py_PreInitializeFromArgs(&preconfig, argc, argv); if (PyStatus_Exception(status)) {