bpo-38304: Fix PyConfig usage in python_uwp.cpp (GH-16487)

https://github.com/python/cpython/commit/89f8177dcfdbcf17c85bb6998c946c9f42b... commit: 89f8177dcfdbcf17c85bb6998c946c9f42bf6e27 branch: master author: Victor Stinner <vstinner@redhat.com> committer: GitHub <noreply@github.com> date: 2019-09-30T12:52:29+02:00 summary: bpo-38304: Fix PyConfig usage in python_uwp.cpp (GH-16487) * Set PyPreConfig.struct_size and PyConfig.struct_size as required by the API. * PyPreConfig_InitPythonConfig() can now fail: check PyStatus result. files: M PC/python_uwp.cpp 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)) {
participants (1)
-
Victor Stinner