From 0f868375ff991ad24fa7a9b79ceea9b64478c642 Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Tue, 17 Dec 1996 01:02:18 +0000
Subject: Check errors returned by recursive call to Split().

---
 Modules/_tkinter.c | 17 ++++++++++++-----
 1 file 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);
-- 
cgit v0.12

