From: Neal Norwitz Date: Wed, 14 Aug 2002 02:03:50 +0000 (+0000) Subject: Fix memory leaks reported by valgrind X-Git-Tag: v2.3c1~4486 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=72cf6a8c071864581a8a4b8d395b201de8ccfc82;p=python Fix memory leaks reported by valgrind --- diff --git a/Modules/mpzmodule.c b/Modules/mpzmodule.c index 5974df14d7..4641298991 100644 --- a/Modules/mpzmodule.c +++ b/Modules/mpzmodule.c @@ -961,7 +961,7 @@ MPZ_powm(PyObject *self, PyObject *args) { PyObject *base, *exp, *mod; mpzobject *mpzbase = NULL, *mpzexp = NULL, *mpzmod = NULL; - mpzobject *z; + mpzobject *z = NULL; int tstres; @@ -975,10 +975,15 @@ MPZ_powm(PyObject *self, PyObject *args) 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 @@ MPZ_powm(PyObject *self, PyObject *args) Py_DECREF(mpzbase); Py_DECREF(mpzexp); Py_DECREF(mpzmod); + Py_DECREF(z); PyErr_SetString(PyExc_ValueError, "modulus cannot be 0"); return NULL; }