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

Steve Dower webhook-mailer at python.org
Mon May 18 18:24:45 EDT 2020


https://github.com/python/cpython/commit/930badd414dd2376b1875e1775cb40855a87e180
commit: 930badd414dd2376b1875e1775cb40855a87e180
branch: 3.7
author: Steve Dower <steve.dower at python.org>
committer: GitHub <noreply at github.com>
date: 2020-05-18T23:24:41+01:00
summary:

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

Co-authored-by: Minmin Gong <gongminmin at msn.com>

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 e3cd3ae1e9a60..dc4e43fe7d3b6 100644
--- a/PC/getpathp.c
+++ b/PC/getpathp.c
@@ -398,7 +398,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 16a10c7232a17..639052d20dd08 100644
--- a/PC/winreg.c
+++ b/PC/winreg.c
@@ -1382,8 +1382,8 @@ winreg_QueryInfoKey_impl(PyObject *module, HKEY key)
   PyObject *l;
   PyObject *ret;
 
-  if ((rc = RegQueryInfoKey(key, NULL, NULL, 0, &nSubKeys, NULL, NULL,
-                            &nValues,  NULL,  NULL, NULL, &ft))
+  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 58b0802f46688..7b560e66e3071 100644
--- a/Python/bootstrap_hash.c
+++ b/Python/bootstrap_hash.c
@@ -37,8 +37,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