Issue #10833: Use PyUnicode_FromFormat() and PyErr_Format() instead of
PyOS_snprintf().
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index 5983a3b..6373c48 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -2138,13 +2138,15 @@
 static void
 expat_set_error(const char* message, int line, int column)
 {
-    PyObject *error;
-    PyObject *position;
-    char buffer[256];
+    PyObject *errmsg, *error, *position;
 
-    sprintf(buffer, "%.100s: line %d, column %d", message, line, column);
+    errmsg = PyUnicode_FromFormat("%s: line %d, column %d",
+                                  message, line, column);
+    if (errmsg == NULL)
+        return;
 
-    error = PyObject_CallFunction(elementtree_parseerror_obj, "s", buffer);
+    error = PyObject_CallFunction(elementtree_parseerror_obj, "O", errmsg);
+    Py_DECREF(errmsg);
     if (!error)
         return;