summaryrefslogtreecommitdiff
path: root/SWIG/_dsa.i
diff options
context:
space:
mode:
authorHeikki Toivonen <heikki@heikkitoivonen.net>2005-05-14 00:08:24 +0000
committerHeikki Toivonen <heikki@heikkitoivonen.net>2005-05-14 00:08:24 +0000
commit4683132d974d4a821304a0ff6f2c90770e5072b5 (patch)
treef734e668bb9549b4debc163b2c6f9c491567f89b /SWIG/_dsa.i
parent01049a3b3f45ff7723c02c2093e7e555f449b760 (diff)
downloadm2crypto-4683132d974d4a821304a0ff6f2c90770e5072b5.tar.gz
Bug 2835, fix some memory leaks. Reviewed by Robin Dunn.
git-svn-id: http://svn.osafoundation.org/m2crypto/trunk@271 2715db39-9adf-0310-9c64-84f055769b4b
Diffstat (limited to 'SWIG/_dsa.i')
-rw-r--r--SWIG/_dsa.i4
1 files changed, 4 insertions, 0 deletions
diff --git a/SWIG/_dsa.i b/SWIG/_dsa.i
index 4d53506..d01bac5 100644
--- a/SWIG/_dsa.i
+++ b/SWIG/_dsa.i
@@ -273,10 +273,12 @@ int dsa_verify(DSA *dsa, PyObject *value, PyObject *r, PyObject *s) {
}
if (!(sig->r = BN_mpi2bn((unsigned char *)rbuf, rlen, NULL))) {
PyErr_SetString(_dsa_err, ERR_reason_error_string(ERR_get_error()));
+ DSA_SIG_free(sig);
return -1;
}
if (!(sig->s = BN_mpi2bn((unsigned char *)sbuf, slen, NULL))) {
PyErr_SetString(_dsa_err, ERR_reason_error_string(ERR_get_error()));
+ DSA_SIG_free(sig);
return -1;
}
ret = DSA_do_verify(vbuf, vlen, sig, dsa);
@@ -336,9 +338,11 @@ PyObject *dsa_sign_asn1(DSA *dsa, PyObject *value) {
}
if (!DSA_sign(0, vbuf, vlen, (unsigned char *)sigbuf, &siglen, dsa)) {
PyErr_SetString(_dsa_err, ERR_reason_error_string(ERR_get_error()));
+ PyMem_Free(sigbuf);
return NULL;
}
ret = PyString_FromStringAndSize(sigbuf, siglen);
+ PyMem_Free(sigbuf);
return ret;
}