mirror of https://github.com/python/cpython.git
gh-125682: Reject non-ASCII digits in the Python implementation of JSON decoder (GH-125687)
This commit is contained in:
parent
a0f5c8e627
commit
d358425e69
|
@ -9,7 +9,7 @@
|
|||
__all__ = ['make_scanner']
|
||||
|
||||
NUMBER_RE = re.compile(
|
||||
r'(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?',
|
||||
r'(-?(?:0|[1-9][0-9]*))(\.[0-9]+)?([eE][-+]?[0-9]+)?',
|
||||
(re.VERBOSE | re.MULTILINE | re.DOTALL))
|
||||
|
||||
def py_make_scanner(context):
|
||||
|
|
|
@ -16,6 +16,12 @@ def test_float(self):
|
|||
self.assertIsInstance(rval, float)
|
||||
self.assertEqual(rval, 1.0)
|
||||
|
||||
def test_nonascii_digits_rejected(self):
|
||||
# JSON specifies only ascii digits, see gh-125687
|
||||
for num in ["1\uff10", "0.\uff10", "0e\uff10"]:
|
||||
with self.assertRaises(self.JSONDecodeError):
|
||||
self.loads(num)
|
||||
|
||||
def test_bytes(self):
|
||||
self.assertEqual(self.loads(b"1"), 1)
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Reject non-ASCII digits in the Python implementation of :func:`json.loads`
|
||||
conforming to the JSON specification.
|
Loading…
Reference in New Issue