File: src/_fastmath.c
Function: rsaKey__unblind
Error: ob_refcnt of '*r' is 1 too high
948 static PyObject *
949 rsaKey__unblind (rsaKey * key, PyObject * args)
950 {
951 	PyObject *l, *lblind, *r;
952 	mpz_t v, vblind;
953 	int result;
954 	if (!PyArg_ParseTuple (args, "O!O!", &PyLong_Type, &l, 
when PyArg_ParseTuple() succeeds
taking False path
955                                &PyLong_Type, &lblind))
956 		{
957 			return NULL;
958 		}
959 	mpz_init (v);
960 	mpz_init (vblind);
961 	longObjToMPZ (v, (PyLongObject *) l);
962 	longObjToMPZ (vblind, (PyLongObject *) lblind);
963 	result = rsaUnBlind (key, v, vblind);
964 	if (result == 1)
when considering range: -0x80000000 <= value <= 0
taking False path
965 		{
966 			PyErr_SetString (PyExc_ValueError, "Message too large");
967 			return NULL;
968 		}
969 	else if (result == 2)
taking False path
970 		{
971 			PyErr_SetString (PyExc_ValueError, "Blinding factor too large");
972 			return NULL;
973 		}
974 	else if (result == 3)
taking False path
975 		{
976 			PyErr_SetString (PyExc_ValueError, "Inverse doesn't exist");
977 			return NULL;
978 		}
979 	r = (PyObject *) mpzToLongObj (v);
when mpzToLongObj() succeeds
new ref from (unknown) mpzToLongObj allocated at: 	r = (PyObject *) mpzToLongObj (v);
ob_refcnt is now refs: 1 + N where N >= 0
980 	mpz_clear (v);
981 	mpz_clear (vblind);
982 	return Py_BuildValue ("N", r);
when Py_BuildValue() fails
983 }
ob_refcnt of '*r' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 1 similar trace(s) to this