Argh. "integer" is a very confusing word ;)
Actually, checking for INT_MAX and INT_MIN is correct since
the format code explicitly handles a C "int".
diff --git a/Misc/NEWS b/Misc/NEWS
index 19664a2..d54806a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -213,9 +213,6 @@
Core and builtins
-----------------
-- Bug #1502750: Check bounds integer arguments correctly on 64-bit
- platforms.
-
- Bug #1465834: 'bdist_wininst preinstall script support' was fixed
by converting these apis from macros into exported functions again:
diff --git a/Python/getargs.c b/Python/getargs.c
index 727376d..1552790 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -624,12 +624,12 @@
ival = PyInt_AsLong(arg);
if (ival == -1 && PyErr_Occurred())
return converterr("integer<i>", arg, msgbuf, bufsize);
- else if (ival > LONG_MAX) {
+ else if (ival > INT_MAX) {
PyErr_SetString(PyExc_OverflowError,
"signed integer is greater than maximum");
return converterr("integer<i>", arg, msgbuf, bufsize);
}
- else if (ival < LONG_MIN) {
+ else if (ival < INT_MIN) {
PyErr_SetString(PyExc_OverflowError,
"signed integer is less than minimum");
return converterr("integer<i>", arg, msgbuf, bufsize);