summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2009-05-05 07:52:05 (GMT)
committerGeorg Brandl <georg@python.org>2009-05-05 07:52:05 (GMT)
commit596820539f8e776cfb790573298c62fae319c67f (patch)
tree1f8eee8fb01bf10bd1febce0001ae0ae20bfcce5
parent011e8420339245f9b55d41082ec6036f2f83a182 (diff)
downloadcpython-596820539f8e776cfb790573298c62fae319c67f.zip
cpython-596820539f8e776cfb790573298c62fae319c67f.tar.gz
cpython-596820539f8e776cfb790573298c62fae319c67f.tar.bz2
Merged revisions 72314 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r72314 | georg.brandl | 2009-05-05 09:48:12 +0200 (Di, 05 Mai 2009) | 1 line #5932: fix error return in _convertPyInt_AsSsize_t() conversion function. ........
-rw-r--r--Lib/json/tests/test_scanstring.py3
-rw-r--r--Modules/_json.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/Lib/json/tests/test_scanstring.py b/Lib/json/tests/test_scanstring.py
index 2d55672..2e9136b 100644
--- a/Lib/json/tests/test_scanstring.py
+++ b/Lib/json/tests/test_scanstring.py
@@ -102,3 +102,6 @@ class TestScanString(TestCase):
self.assertEquals(
scanstring('["Bad value", truth]', 2, True),
('Bad value', 12))
+
+ 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 45f4b58..c44dbac 100644
--- a/Modules/_json.c
+++ b/Modules/_json.c
@@ -133,9 +133,9 @@ _convertPyInt_AsSsize_t(PyObject *o, Py_ssize_t *size_ptr)
{
/* PyObject to Py_ssize_t converter */
*size_ptr = PyLong_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 *