mirror of
https://github.com/python/cpython.git
synced 2025-08-21 17:25:34 +00:00
Issue #3360: Fix incorrect parsing of '020000000000.0'.
This is a backport of r65005.
This commit is contained in:
parent
4fed741c5d
commit
ab396e07cc
3 changed files with 8 additions and 10 deletions
11
Python/ast.c
11
Python/ast.c
|
@ -3067,16 +3067,7 @@ parsenumber(const char *s)
|
|||
#endif
|
||||
if (*end == 'l' || *end == 'L')
|
||||
return PyLong_FromString((char *)s, (char **)0, 0);
|
||||
if (s[0] == '0') {
|
||||
x = (long) PyOS_strtoul((char *)s, (char **)&end, 0);
|
||||
if (x < 0 && errno == 0) {
|
||||
return PyLong_FromString((char *)s,
|
||||
(char **)0,
|
||||
0);
|
||||
}
|
||||
}
|
||||
else
|
||||
x = PyOS_strtol((char *)s, (char **)&end, 0);
|
||||
x = PyOS_strtol((char *)s, (char **)&end, 0);
|
||||
if (*end == '\0') {
|
||||
if (errno != 0)
|
||||
return PyLong_FromString((char *)s, (char **)0, 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue