mirror of
https://github.com/python/cpython.git
synced 2024-11-27 11:55:13 +08:00
Issue #23321: Fixed a crash in str.decode() when error handler returned
replacment string longer than mailformed input data.
This commit is contained in:
parent
1923b627b5
commit
7e4b9057b3
@ -11,6 +11,9 @@ Release date: TBA
|
||||
Core and Builtins
|
||||
-----------------
|
||||
|
||||
- Issue #23321: Fixed a crash in str.decode() when error handler returned
|
||||
replacment string longer than mailformed input data.
|
||||
|
||||
- Issue #23048: Fix jumping out of an infinite while loop in the pdb.
|
||||
|
||||
- Issue #20335: bytes constructor now raises TypeError when encoding or errors
|
||||
|
@ -4190,9 +4190,13 @@ unicode_decode_call_errorhandler_writer(
|
||||
if (PyUnicode_READY(repunicode) < 0)
|
||||
goto onError;
|
||||
replen = PyUnicode_GET_LENGTH(repunicode);
|
||||
writer->min_length += replen;
|
||||
if (replen > 1)
|
||||
if (replen > 1) {
|
||||
writer->min_length += replen - 1;
|
||||
writer->overallocate = 1;
|
||||
if (_PyUnicodeWriter_Prepare(writer, writer->min_length,
|
||||
PyUnicode_MAX_CHAR_VALUE(repunicode)) == -1)
|
||||
goto onError;
|
||||
}
|
||||
if (_PyUnicodeWriter_WriteStr(writer, repunicode) == -1)
|
||||
goto onError;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user