[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-30T12: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