diff options
author | Guido van Rossum <guido@python.org> | 1996-12-17 01:02:18 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-12-17 01:02:18 (GMT) |
commit | 0f868375ff991ad24fa7a9b79ceea9b64478c642 (patch) | |
tree | cf8d94bd732e2f227e4bc9c8328972a1ece9b5c8 | |
parent | fc93f75da75e430a20b37f2a73dacfa94d8a9758 (diff) | |
download | cpython-0f868375ff991ad24fa7a9b79ceea9b64478c642.zip cpython-0f868375ff991ad24fa7a9b79ceea9b64478c642.tar.gz cpython-0f868375ff991ad24fa7a9b79ceea9b64478c642.tar.bz2 |
Check errors returned by recursive call to Split().
-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); |