summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2011-02-27 14:26:58 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2011-02-27 14:29:21 +0100
commit100563a343b9e3af218173b32484515a091814ac (patch)
treea076b1ac4a1483325b46f5db94d3582cd9ab986e
parent5f89e68da46fb55f1e27ea2996407d20223f97cc (diff)
downloadgnutls-100563a343b9e3af218173b32484515a091814ac.tar.gz
corrected finished packet check.
-rw-r--r--lib/gnutls_handshake.c10
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,