@@ -225,9 +225,6 @@ PyBytes_FromFormatV(const char *format, va_list vargs)
225225 size_t len = (len_expr); \
226226 alloc += len; \
227227 Py_ssize_t pos = s - (char*)PyBytesWriter_Data(writer); \
228- if (PyBytesWriter_SetSize(writer, pos) < 0) { \
229- goto error; \
230- } \
231228 if (PyBytesWriter_Resize(writer, alloc) < 0) { \
232229 goto error; \
233230 } \
@@ -2875,9 +2872,6 @@ _PyBytes_FromList(PyObject *x)
28752872
28762873 if (i >= size ) {
28772874 Py_ssize_t pos = str - (char * )PyBytesWriter_Data (writer );
2878- if (PyBytesWriter_SetSize (writer , pos ) < 0 ) {
2879- goto error ;
2880- }
28812875 if (PyBytesWriter_Resize (writer , size + 1 ) < 0 ) {
28822876 goto error ;
28832877 }
@@ -3798,11 +3792,10 @@ byteswriter_resize(PyBytesWriter *writer, Py_ssize_t size, int overallocate)
37983792 if (writer -> obj == NULL ) {
37993793 return -1 ;
38003794 }
3801- if (writer -> size ) {
3802- memcpy (PyBytes_AS_STRING (writer -> obj ),
3803- writer -> small_buffer ,
3804- writer -> size );
3805- }
3795+ assert ((size_t )size > sizeof (writer -> small_buffer ));
3796+ memcpy (PyBytes_AS_STRING (writer -> obj ),
3797+ writer -> small_buffer ,
3798+ sizeof (writer -> small_buffer ));
38063799 }
38073800 return 0 ;
38083801}
@@ -3912,23 +3905,15 @@ PyBytesWriter_Allocated(PyBytesWriter *writer)
39123905
39133906
39143907int
3915- PyBytesWriter_SetSize (PyBytesWriter * writer , Py_ssize_t size )
3908+ PyBytesWriter_Resize (PyBytesWriter * writer , Py_ssize_t size )
39163909{
3917- if (size < 0 || size > byteswriter_allocated ( writer ) ) {
3918- PyErr_SetString (PyExc_ValueError , "invalid size" );
3910+ if (size < 0 ) {
3911+ PyErr_SetString (PyExc_ValueError , "size must be >= 0 " );
39193912 return -1 ;
39203913 }
3921- writer -> size = size ;
3922- return 0 ;
3923- }
3924-
3925-
3926- int
3927- PyBytesWriter_Resize (PyBytesWriter * writer , Py_ssize_t alloc )
3928- {
3929- if (alloc < 0 ) {
3930- PyErr_SetString (PyExc_ValueError , "alloc must be >= 0" );
3914+ if (byteswriter_resize (writer , size , 1 ) < 0 ) {
39313915 return -1 ;
39323916 }
3933- return byteswriter_resize (writer , alloc , 1 );
3917+ writer -> size = size ;
3918+ return 0 ;
39343919}
0 commit comments