Check errors returned by recursive call to Split().
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 10d9f9f..3ce0fac 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -261,13 +261,20 @@
v = PyString_FromString ("");
else if (argc == 1)
v = PyString_FromString (argv[0]);
- else
+ else if ((v = PyTuple_New (argc)) != NULL)
{
int i;
+ PyObject *w;
- v = PyTuple_New (argc);
- for (i = 0; i < argc; i++)
- PyTuple_SetItem (v, i, Split (self, argv[i]));
+ for (i = 0; i < argc; i++) {
+ if ((w = Split (self, argv[i])) == NULL)
+ {
+ Py_DECREF(v);
+ v = NULL;
+ break;
+ }
+ PyTuple_SetItem (v, i, w);
+ }
}
ckfree (FREECAST argv);