mirror of
https://github.com/python/cpython.git
synced 2025-08-27 04:05:34 +00:00
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
.
This commit is contained in:
parent
cafaf0447b
commit
16dfca4d82
6 changed files with 15 additions and 0 deletions
|
@ -9072,6 +9072,7 @@ _PyUnicode_TransformDecimalAndSpaceToASCII(PyObject *unicode)
|
|||
int decimal = Py_UNICODE_TODECIMAL(ch);
|
||||
if (decimal < 0) {
|
||||
out[i] = '?';
|
||||
out[i+1] = '\0';
|
||||
_PyUnicode_LENGTH(result) = i + 1;
|
||||
break;
|
||||
}
|
||||
|
@ -9079,6 +9080,7 @@ _PyUnicode_TransformDecimalAndSpaceToASCII(PyObject *unicode)
|
|||
}
|
||||
}
|
||||
|
||||
assert(_PyUnicode_CheckConsistency(result, 1));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue