Browse Source
bpo-8677: use PY_SSIZE_T_CLEAN in PC/winreg.c (GH-12466)
pull/12469/head
Inada Naoki
7 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
6 additions and
0 deletions
-
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); |
|
|
|
|