summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-08-09 09:57:49 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-08-09 15:33:01 +0200
commitbba3bb9dc16fd23910e844db9e9b5efead99f7f5 (patch)
tree44f28415d944dcc554a1f0f2198e027c1083fc99 /lib
parenta15d6b22989784eebb276d79b2355f23827a85a2 (diff)
downloadgnutls-bba3bb9dc16fd23910e844db9e9b5efead99f7f5.tar.gz
gnutls_srp_verifier: corrected memory leak
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/srp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/srp.c b/lib/srp.c
index 868c7066a0..eb4b8361d9 100644
--- a/lib/srp.c
+++ b/lib/srp.c
@@ -762,16 +762,22 @@ gnutls_srp_verifier(const char *username, const char *password,
size = generator->size;
if (_gnutls_mpi_init_scan_nz(&_g, generator->data, size)) {
gnutls_assert();
+ _gnutls_mpi_release(&_n);
return GNUTLS_E_MPI_SCAN_FAILED;
}
ret = _gnutls_srp_gx(digest, 20, &res->data, _g, _n);
if (ret < 0) {
gnutls_assert();
+ _gnutls_mpi_release(&_n);
+ _gnutls_mpi_release(&_g);
return ret;
}
res->size = ret;
+ _gnutls_mpi_release(&_n);
+ _gnutls_mpi_release(&_g);
+
return 0;
}