Commit b7e2d67f authored by Serhiy Storchaka's avatar Serhiy Storchaka Committed by GitHub

bpo-32827: Fix usage of _PyUnicodeWriter_Prepare() in decoding errors handler. (GH-5636)

parent 688722ce
...@@ -4256,7 +4256,7 @@ unicode_decode_call_errorhandler_writer( ...@@ -4256,7 +4256,7 @@ unicode_decode_call_errorhandler_writer(
} }
if (need_to_grow) { if (need_to_grow) {
writer->overallocate = 1; writer->overallocate = 1;
if (_PyUnicodeWriter_Prepare(writer, writer->min_length, if (_PyUnicodeWriter_Prepare(writer, writer->min_length - writer->pos,
PyUnicode_MAX_CHAR_VALUE(repunicode)) == -1) PyUnicode_MAX_CHAR_VALUE(repunicode)) == -1)
goto onError; goto onError;
} }
...@@ -6085,9 +6085,7 @@ _PyUnicode_DecodeUnicodeEscape(const char *s, ...@@ -6085,9 +6085,7 @@ _PyUnicode_DecodeUnicodeEscape(const char *s,
&writer)) { &writer)) {
goto onError; goto onError;
} }
if (_PyUnicodeWriter_Prepare(&writer, writer.min_length, 127) < 0) { assert(end - s <= writer.size - writer.pos);
goto onError;
}
#undef WRITE_ASCII_CHAR #undef WRITE_ASCII_CHAR
#undef WRITE_CHAR #undef WRITE_CHAR
...@@ -6364,9 +6362,7 @@ PyUnicode_DecodeRawUnicodeEscape(const char *s, ...@@ -6364,9 +6362,7 @@ PyUnicode_DecodeRawUnicodeEscape(const char *s,
&writer)) { &writer)) {
goto onError; goto onError;
} }
if (_PyUnicodeWriter_Prepare(&writer, writer.min_length, 127) < 0) { assert(end - s <= writer.size - writer.pos);
goto onError;
}
#undef WRITE_CHAR #undef WRITE_CHAR
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment