File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -7383,27 +7383,35 @@ PyUnicode_DecodeCharmap(const char *s,
73837383 goto onError ;
73847384 }
73857385
7386- if (_PyUnicodeWriter_Prepare (& writer , 1 , value ) == -1 )
7386+ if (_PyUnicodeWriter_Prepare (& writer , 1 , value ) == -1 ) {
7387+ Py_DECREF (x );
73877388 goto onError ;
7389+ }
73887390 PyUnicode_WRITE (writer .kind , writer .data , writer .pos , value );
73897391 writer .pos ++ ;
73907392 }
73917393 else if (PyUnicode_Check (x )) {
7392- if (PyUnicode_READY (x ) == -1 )
7394+ if (PyUnicode_READY (x ) == -1 ) {
7395+ Py_DECREF (x );
73937396 goto onError ;
7397+ }
73947398 if (PyUnicode_GET_LENGTH (x ) == 1 ) {
73957399 Py_UCS4 value = PyUnicode_READ_CHAR (x , 0 );
73967400 if (value == 0xFFFE )
73977401 goto Undefined ;
7398- if (_PyUnicodeWriter_Prepare (& writer , 1 , value ) == -1 )
7402+ if (_PyUnicodeWriter_Prepare (& writer , 1 , value ) == -1 ) {
7403+ Py_DECREF (x );
73997404 goto onError ;
7405+ }
74007406 PyUnicode_WRITE (writer .kind , writer .data , writer .pos , value );
74017407 writer .pos ++ ;
74027408 }
74037409 else {
74047410 writer .overallocate = 1 ;
7405- if (_PyUnicodeWriter_WriteStr (& writer , x ) == -1 )
7411+ if (_PyUnicodeWriter_WriteStr (& writer , x ) == -1 ) {
7412+ Py_DECREF (x );
74067413 goto onError ;
7414+ }
74077415 }
74087416 }
74097417 else {
You can’t perform that action at this time.
0 commit comments