summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_float.py
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2018-07-14 03:58:12 (GMT)
committerGitHub <noreply@github.com>2018-07-14 03:58:12 (GMT)
commitc721472fb83d1f7c7606bcf33ba2d42d6127a764 (patch)
tree5423358bf1045bb2902ddbf92a772c2689146b35 /Lib/test/test_float.py
parentcf21d0031dd84544d4108765553c2b03dfe726c5 (diff)
downloadcpython-c721472fb83d1f7c7606bcf33ba2d42d6127a764.zip
cpython-c721472fb83d1f7c7606bcf33ba2d42d6127a764.tar.gz
cpython-c721472fb83d1f7c7606bcf33ba2d42d6127a764.tar.bz2
bpo-34087: Fix buffer overflow in int(s) and similar functions (GH-8274)
`_PyUnicode_TransformDecimalAndSpaceToASCII()` missed trailing NUL char. It caused buffer overflow in `_Py_string_to_number_with_underscores()`. This bug is introduced in 9b6c60cb. (cherry picked from commit 16dfca4d829e45f36e71bf43f83226659ce49315) Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
Diffstat (limited to 'Lib/test/test_float.py')
-rw-r--r--Lib/test/test_float.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index 17174dd..06ea90c 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -60,6 +60,9 @@ class GeneralFloatCases(unittest.TestCase):
# extra long strings should not be a problem
float(b'.' + b'1'*1000)
float('.' + '1'*1000)
+ # Invalid unicode string
+ # See bpo-34087
+ self.assertRaises(ValueError, float, '\u3053\u3093\u306b\u3061\u306f')
def test_underscores(self):
for lit in VALID_UNDERSCORE_LITERALS: