diff -r 3f72b3a96508 Modules/mathmodule.c --- a/Modules/mathmodule.c Sat Oct 20 13:16:49 2012 +0100 +++ b/Modules/mathmodule.c Wed Oct 24 11:46:41 2012 +0100 @@ -1381,14 +1381,14 @@ Py_DECREF(outer); outer = tmp; } - - goto done; + Py_DECREF(inner); + return outer; error: Py_DECREF(outer); - done: Py_DECREF(inner); - return outer; + return NULL; + } /* Lookup table for small factorial values */