861 static PyObject *
862 rsaKey__decrypt (rsaKey * key, PyObject * args)
863 {
864 PyObject *l, *r;
865 mpz_t v;
866 int result;
867 if (!PyArg_ParseTuple (args, "O!", &PyLong_Type, &l))
when PyArg_ParseTuple() succeeds
taking False path
868 {
869 return NULL;
870 }
871 mpz_init (v);
872 longObjToMPZ (v, (PyLongObject *) l);
873 result = rsaDecrypt (key, v);
874 if (result == 1)
when considering range: -0x80000000 <= value <= 0
taking False path
875 {
876 PyErr_SetString (PyExc_ValueError,
877 "Ciphertext too large");
878 return NULL;
879 }
880 else if (result == 2)
taking False path
881 {
882 PyErr_SetString (PyExc_TypeError,
883 "Private key not available in this object");
884 return NULL;
885 }
886 r = mpzToLongObj (v);
when mpzToLongObj() succeeds
new ref from (unknown) mpzToLongObj allocated at: r = mpzToLongObj (v);
ob_refcnt is now refs: 1 + N where N >= 0
887 mpz_clear (v);
888 return Py_BuildValue ("N", r);
when Py_BuildValue() fails
889 }
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