diff options
author | Heikki Toivonen <heikki@heikkitoivonen.net> | 2005-05-14 00:08:24 +0000 |
---|---|---|
committer | Heikki Toivonen <heikki@heikkitoivonen.net> | 2005-05-14 00:08:24 +0000 |
commit | 4683132d974d4a821304a0ff6f2c90770e5072b5 (patch) | |
tree | f734e668bb9549b4debc163b2c6f9c491567f89b /SWIG/_dsa.i | |
parent | 01049a3b3f45ff7723c02c2093e7e555f449b760 (diff) | |
download | m2crypto-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.i | 4 |
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; } |