diff options
-rw-r--r-- | Modules/future_builtins.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Modules/future_builtins.c b/Modules/future_builtins.c index 4c840fb..bcd42ef 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 */ |