diff options
-rw-r--r-- | Modules/_tkinter.c | 17 |
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); |