summaryrefslogtreecommitdiffstats
path: root/PC/python_uwp.cpp
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-09-30 10:52:29 (GMT)
committerGitHub <noreply@github.com>2019-09-30 10:52:29 (GMT)
commit89f8177dcfdbcf17c85bb6998c946c9f42bf6e27 (patch)
treef444a11726581a3b93d4d7af022dbeefa40bf87a /PC/python_uwp.cpp
parentfc4a044a3c54ce21e9ed150f7d769fb479d34c49 (diff)
downloadcpython-89f8177dcfdbcf17c85bb6998c946c9f42bf6e27.zip
cpython-89f8177dcfdbcf17c85bb6998c946c9f42bf6e27.tar.gz
cpython-89f8177dcfdbcf17c85bb6998c946c9f42bf6e27.tar.bz2
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.
Diffstat (limited to 'PC/python_uwp.cpp')
-rw-r--r--PC/python_uwp.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/PC/python_uwp.cpp b/PC/python_uwp.cpp
index 06c1dd3..2656d18 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)) {