]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
gnutls_srp_verifier: corrected memory leak
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Wed, 9 Aug 2017 07:57:49 +0000 (09:57 +0200)
committerNikos Mavrogiannopoulos <nmav@redhat.com>
Wed, 9 Aug 2017 13:33:01 +0000 (15:33 +0200)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
lib/srp.c

index 868c7066a0af16b0f24ef1d4180dd0c96353d45a..eb4b8361d9d1acbfccd316c64f81109428035f13 100644 (file)
--- 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;
 }