{
PyObject *base, *exp, *mod;
mpzobject *mpzbase = NULL, *mpzexp = NULL, *mpzmod = NULL;
- mpzobject *z;
+ mpzobject *z = NULL;
int tstres;
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;
}
Py_DECREF(mpzbase);
Py_DECREF(mpzexp);
Py_DECREF(mpzmod);
+ Py_DECREF(z);
PyErr_SetString(PyExc_ValueError, "modulus cannot be 0");
return NULL;
}