summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/_tkinter.c17
1 files changed, 12 insertions, 5 deletions
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 @@ Split (self, list)
v = PyString_FromString ("");
else if (argc == 1)
v = PyString_FromString (argv[0]);
- else
+ else if ((v = PyTuple_New (argc)) != NULL)
{
int i;
-
- v = PyTuple_New (argc);
- for (i = 0; i < argc; i++)
- PyTuple_SetItem (v, i, Split (self, argv[i]));
+ PyObject *w;
+
+ 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);