[Python-checkins] bpo-38304: Fix PyConfig usage in python_uwp.cpp (GH-16488)

Victor Stinner webhook-mailer at python.org
Mon Sep 30 06:53:20 EDT 2019


https://github.com/python/cpython/commit/81f6b031c46721478372d77fe2e55aa1f8300ae1
commit: 81f6b031c46721478372d77fe2e55aa1f8300ae1
branch: 3.8
author: Victor Stinner <vstinner at redhat.com>
committer: GitHub <noreply at github.com>
date: 2019年09月30日T12:53:17+02:00
summary:
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.
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)) {


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /