From 596820539f8e776cfb790573298c62fae319c67f Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 5 May 2009 07:52:05 +0000 Subject: [PATCH] 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. ........ --- Lib/json/tests/test_scanstring.py | 3 +++ 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 2d55672b7ad..2e9136b08f9 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 45f4b58e41d..c44dbac1f13 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 *