Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 310b424

Browse files
bpo-32827: Fix usage of _PyUnicodeWriter_Prepare() in decoding errors handler. (GH-5636)
(cherry picked from commit b7e2d67) Co-authored-by: Serhiy Storchaka <[email protected]>
1 parent c3f9d7e commit 310b424

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

Objects/unicodeobject.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4500,7 +4500,7 @@ unicode_decode_call_errorhandler_writer(
45004500
}
45014501
if (need_to_grow) {
45024502
writer->overallocate = 1;
4503-
if (_PyUnicodeWriter_Prepare(writer, writer->min_length,
4503+
if (_PyUnicodeWriter_Prepare(writer, writer->min_length - writer->pos,
45044504
PyUnicode_MAX_CHAR_VALUE(repunicode)) == -1)
45054505
goto onError;
45064506
}
@@ -6176,9 +6176,7 @@ _PyUnicode_DecodeUnicodeEscape(const char *s,
61766176
&writer)) {
61776177
goto onError;
61786178
}
6179-
if (_PyUnicodeWriter_Prepare(&writer, writer.min_length, 127) < 0) {
6180-
goto onError;
6181-
}
6179+
assert(end - s <= writer.size - writer.pos);
61826180

61836181
#undef WRITE_ASCII_CHAR
61846182
#undef WRITE_CHAR
@@ -6455,9 +6453,7 @@ PyUnicode_DecodeRawUnicodeEscape(const char *s,
64556453
&writer)) {
64566454
goto onError;
64576455
}
6458-
if (_PyUnicodeWriter_Prepare(&writer, writer.min_length, 127) < 0) {
6459-
goto onError;
6460-
}
6456+
assert(end - s <= writer.size - writer.pos);
64616457

64626458
#undef WRITE_CHAR
64636459
}

0 commit comments

Comments
 (0)