bpo-34087: Fix buffer overflow in int(s) and similar functions (GH-8274)


`_PyUnicode_TransformDecimalAndSpaceToASCII()` missed trailing NUL char.
It caused buffer overflow in `_Py_string_to_number_with_underscores()`.

This bug is introduced in 9b6c60cb.
(cherry picked from commit 16dfca4d829e45f36e71bf43f83226659ce49315)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index d5e7d10..5d605ab 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -9076,6 +9076,7 @@
             int decimal = Py_UNICODE_TODECIMAL(ch);
             if (decimal < 0) {
                 out[i] = '?';
+                out[i+1] = '\0';
                 _PyUnicode_LENGTH(result) = i + 1;
                 break;
             }
@@ -9083,6 +9084,7 @@
         }
     }
 
+    assert(_PyUnicode_CheckConsistency(result, 1));
     return result;
 }