From: Inada Naoki Date: Wed, 20 Mar 2019 10:10:17 +0000 (+0900) Subject: bpo-8677: use PY_SSIZE_T_CLEAN in PC/winreg.c (GH-12466) X-Git-Tag: v3.8.0a3~40 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d5f18a63cc2dfe8d0adec8bce384a8c569b0f3dc;p=thirdparty%2FPython%2Fcpython.git bpo-8677: use PY_SSIZE_T_CLEAN in PC/winreg.c (GH-12466) --- 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);