[Python-checkins] bpo-35890: Use RegQueryInfoKeyW and CryptAcquireContextW explicitly (GH-19974)

Minmin Gong webhook-mailer at python.org
Mon May 18 12:50:12 EDT 2020


https://github.com/python/cpython/commit/98e42d1f882b9b59f587d538c562dbc7d11c64c3
commit: 98e42d1f882b9b59f587d538c562dbc7d11c64c3
branch: master
author: Minmin Gong <gongminmin at msn.com>
committer: GitHub <noreply at github.com>
date: 2020-05-18T17:50:03+01:00
summary:

bpo-35890: Use RegQueryInfoKeyW and CryptAcquireContextW explicitly (GH-19974)

files:
M PC/getpathp.c
M PC/winreg.c
M Python/bootstrap_hash.c

diff --git a/PC/getpathp.c b/PC/getpathp.c
index d23d2bbde809f..fd5cfa7e1a8a3 100644
--- a/PC/getpathp.c
+++ b/PC/getpathp.c
@@ -358,7 +358,7 @@ getpythonregpath(HKEY keyBase, int skipcore)
         goto done;
     }
     /* Find out how big our core buffer is, and how many subkeys we have */
-    rc = RegQueryInfoKey(newKey, NULL, NULL, NULL, &numKeys, NULL, NULL,
+    rc = RegQueryInfoKeyW(newKey, NULL, NULL, NULL, &numKeys, NULL, NULL,
                     NULL, NULL, &dataSize, NULL, NULL);
     if (rc!=ERROR_SUCCESS) {
         goto done;
diff --git a/PC/winreg.c b/PC/winreg.c
index 3e13e75826f15..1305b7030fada 100644
--- a/PC/winreg.c
+++ b/PC/winreg.c
@@ -1451,9 +1451,9 @@ winreg_QueryInfoKey_impl(PyObject *module, HKEY key)
     if (PySys_Audit("winreg.QueryInfoKey", "n", (Py_ssize_t)key) < 0) {
         return NULL;
     }
-    if ((rc = RegQueryInfoKey(key, NULL, NULL, 0, &nSubKeys, NULL, NULL,
-                              &nValues,  NULL,  NULL, NULL, &ft))
-                              != ERROR_SUCCESS) {
+    if ((rc = RegQueryInfoKeyW(key, NULL, NULL, 0, &nSubKeys, NULL, NULL,
+                               &nValues,  NULL,  NULL, NULL, &ft))
+                               != ERROR_SUCCESS) {
         return PyErr_SetFromWindowsErrWithFunction(rc, "RegQueryInfoKey");
     }
     li.LowPart = ft.dwLowDateTime;
diff --git a/Python/bootstrap_hash.c b/Python/bootstrap_hash.c
index aa3a3dfd964ed..b2109275014b2 100644
--- a/Python/bootstrap_hash.c
+++ b/Python/bootstrap_hash.c
@@ -38,8 +38,8 @@ static int
 win32_urandom_init(int raise)
 {
     /* Acquire context */
-    if (!CryptAcquireContext(&hCryptProv, NULL, NULL,
-                             PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
+    if (!CryptAcquireContextW(&hCryptProv, NULL, NULL,
+                              PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
         goto error;
 
     return 0;



More information about the Python-checkins mailing list