diff options
author | Georg Brandl <georg@python.org> | 2009-05-05 07:48:12 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2009-05-05 07:48:12 (GMT) |
commit | f71ba95e9146872200bbc474337b41b0b4d964de (patch) | |
tree | 4fbb76649cd59b8164e31a6fb0be5533c0e9bcc3 | |
parent | ab538fc2b20acc1c82eb28ccfc6450ebfb8d7b1c (diff) | |
download | cpython-f71ba95e9146872200bbc474337b41b0b4d964de.zip cpython-f71ba95e9146872200bbc474337b41b0b4d964de.tar.gz cpython-f71ba95e9146872200bbc474337b41b0b4d964de.tar.bz2 |
#5932: fix error return in _convertPyInt_AsSsize_t() conversion function.
-rw-r--r-- | Lib/json/tests/test_scanstring.py | 3 | ||||
-rw-r--r-- | Modules/_json.c | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/Lib/json/tests/test_scanstring.py b/Lib/json/tests/test_scanstring.py index 6b600db..53d0b66 100644 --- a/Lib/json/tests/test_scanstring.py +++ b/Lib/json/tests/test_scanstring.py @@ -107,3 +107,6 @@ class TestScanString(TestCase): "xxx") self.assertRaises(UnicodeDecodeError, json.encoder.encode_basestring_ascii, b"xx\xff") + + def test_overflow(self): + self.assertRaises(OverflowError, json.decoder.scanstring, b"xxx", sys.maxsize+1) diff --git a/Modules/_json.c b/Modules/_json.c index 0e30469..cfe8708 100644 --- a/Modules/_json.c +++ b/Modules/_json.c @@ -143,9 +143,9 @@ _convertPyInt_AsSsize_t(PyObject *o, Py_ssize_t *size_ptr) { /* PyObject to Py_ssize_t converter */ *size_ptr = PyInt_AsSsize_t(o); - if (*size_ptr == -1 && PyErr_Occurred()); - return 1; - return 0; + if (*size_ptr == -1 && PyErr_Occurred()) + return 0; + return 1; } static PyObject * |