Issue #21951: Fixed a crash in Tkinter on AIX when called Tcl command with
empty string or tuple argument.

On some platforms Tcl memory allocator returns NULL when allocating zero-sized
block of memory.
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index d0a4464..acc0110 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -1052,6 +1052,8 @@
         Py_ssize_t size, i;
 
         size = PyTuple_Size(value);
+        if (size == 0)
+            return Tcl_NewListObj(0, NULL);
         if (!CHECK_SIZE(size, sizeof(Tcl_Obj *))) {
             PyErr_SetString(PyExc_OverflowError, "tuple is too long");
             return NULL;
@@ -1075,6 +1077,8 @@
         Tcl_UniChar *outbuf = NULL;
         Py_ssize_t i;
         size_t allocsize;
+        if (size == 0)
+            return Tcl_NewUnicodeObj((const void *)"", 0);
         if (!CHECK_SIZE(size, sizeof(Tcl_UniChar))) {
             PyErr_SetString(PyExc_OverflowError, "string is too long");
             return NULL;