Mercurial > cpython-lru_cache-weakref
diff Modules/mpzmodule.c @ 24806:9b06f44bd4a3 legacy-trunk
Fix memory leaks reported by valgrind
| author | Neal Norwitz <nnorwitz@gmail.com> |
|---|---|
| date | Wed, 14 Aug 2002 02:03:50 +0000 |
| parents | f66b3a3509c7 |
| children |
line wrap: on
line diff
--- a/Modules/mpzmodule.c Wed Aug 14 01:45:37 2002 +0000 +++ b/Modules/mpzmodule.c Wed Aug 14 02:03:50 2002 +0000 @@ -961,7 +961,7 @@ { PyObject *base, *exp, *mod; mpzobject *mpzbase = NULL, *mpzexp = NULL, *mpzmod = NULL; - mpzobject *z; + mpzobject *z = NULL; int tstres; @@ -975,10 +975,15 @@ Py_XDECREF(mpzbase); Py_XDECREF(mpzexp); Py_XDECREF(mpzmod); + Py_XDECREF(z); return NULL; } if ((tstres=mpz_cmp_ui(&mpzexp->mpz, (unsigned long int)0)) == 0) { + Py_DECREF(mpzbase); + Py_DECREF(mpzexp); + Py_DECREF(mpzmod); + Py_DECREF(z); Py_INCREF(mpz_value_one); return (PyObject *)mpz_value_one; } @@ -987,6 +992,7 @@ Py_DECREF(mpzbase); Py_DECREF(mpzexp); Py_DECREF(mpzmod); + Py_DECREF(z); PyErr_SetString(PyExc_ValueError, "modulus cannot be 0"); return NULL; }
