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