From 7285a2666ed408a4a28dfc2cfd452698d970ecf6 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 25 May 2009 20:13:36 +0000 Subject: [PATCH] fix error handling --- Modules/future_builtins.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Modules/future_builtins.c b/Modules/future_builtins.c index 4c840fb161e..bcd42efedba 100644 --- a/Modules/future_builtins.c +++ b/Modules/future_builtins.c @@ -85,11 +85,12 @@ initfuture_builtins(void) if (itertools == NULL) return; + /* If anything in the following loop fails, we fall through. */ for (cur_func = it_funcs; *cur_func; ++cur_func){ iter_func = PyObject_GetAttrString(itertools, *cur_func); - if (iter_func == NULL) - return; - PyModule_AddObject(m, *cur_func+1, iter_func); + if (iter_func == NULL || + PyModule_AddObject(m, *cur_func+1, iter_func) < 0) + break; } Py_DECREF(itertools); /* any other initialization needed */