[Python-checkins] bpo-8677: use PY_SSIZE_T_CLEAN in PC/winreg.c (GH-12466)
Inada Naoki
webhook-mailer at python.org
Wed Mar 20 06:10:21 EDT 2019
https://github.com/python/cpython/commit/d5f18a63cc2dfe8d0adec8bce384a8c569b0f3dc
commit: d5f18a63cc2dfe8d0adec8bce384a8c569b0f3dc
branch: master
author: Inada Naoki <songofacandy at gmail.com>
committer: GitHub <noreply at github.com>
date: 2019-03-20T19:10:17+09:00
summary:
bpo-8677: use PY_SSIZE_T_CLEAN in PC/winreg.c (GH-12466)
files:
M PC/winreg.c
diff --git a/PC/winreg.c b/PC/winreg.c
index 3a6ea3689fd1..4dc4e0c281bd 100644
--- a/PC/winreg.c
+++ b/PC/winreg.c
@@ -12,6 +12,7 @@
*/
+#define PY_SSIZE_T_CLEAN
#include "Python.h"
#include "structmember.h"
#include "windows.h"
@@ -1608,6 +1609,11 @@ winreg_SetValue_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key,
"Type must be winreg.REG_SZ");
return NULL;
}
+ if (value_length >= INT_MAX) {
+ PyErr_SetString(PyExc_OverflowError,
+ "the value is too long");
+ return NULL;
+ }
Py_BEGIN_ALLOW_THREADS
rc = RegSetValueW(key, sub_key, REG_SZ, value, value_length+1);
More information about the Python-checkins
mailing list