diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-27 14:26:58 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-27 14:29:21 +0100 |
commit | 100563a343b9e3af218173b32484515a091814ac (patch) | |
tree | a076b1ac4a1483325b46f5db94d3582cd9ab986e | |
parent | 5f89e68da46fb55f1e27ea2996407d20223f97cc (diff) | |
download | gnutls-100563a343b9e3af218173b32484515a091814ac.tar.gz |
corrected finished packet check.
-rw-r--r-- | lib/gnutls_handshake.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c index e2f49fe837..56a324110b 100644 --- a/lib/gnutls_handshake.c +++ b/lib/gnutls_handshake.c @@ -780,12 +780,14 @@ _gnutls_recv_finished (gnutls_session_t session) return ret; } - if (memcmp (vrfy, data, data_size) != 0) + ret = memcmp (vrfy, data, data_size); + gnutls_free (vrfy); + + if (ret != 0) { gnutls_assert (); - ret = GNUTLS_E_ERROR_IN_FINISHED_PACKET; + return GNUTLS_E_ERROR_IN_FINISHED_PACKET; } - gnutls_free (vrfy); /* Save peer's verify data for safe renegotiation */ if (data_size > MAX_VERIFY_DATA_SIZE) @@ -809,7 +811,7 @@ _gnutls_recv_finished (gnutls_session_t session) session->internals.initial_negotiation_completed = 1; - return ret; + return 0; } /* returns PK_RSA if the given cipher suite list only supports, |