summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2015-03-20 09:32:19 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2015-03-20 09:48:08 +0100
commit57b8c09d6597efe36cfa2d2738d786081718b204 (patch)
tree4f1575844736233f9346a049f05bfa5def0cceb1
parent20bd6799b299fc16a58f60d4d608c77450dcb265 (diff)
downloadgnutls-57b8c09d6597efe36cfa2d2738d786081718b204.tar.gz
avoid overflow when receiving DTLS 0.9 CCS
-rw-r--r--lib/gnutls_handshake.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index d5e481b644..2b8a291c66 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -2973,7 +2973,7 @@ static int send_handshake_final(gnutls_session_t session, int init)
static int recv_handshake_final(gnutls_session_t session, int init)
{
int ret = 0;
- uint8_t ch;
+ uint8_t ccs[3];
unsigned int ccs_len = 1;
unsigned int tleft;
const version_entry_st *vers;
@@ -3008,7 +3008,7 @@ static int recv_handshake_final(gnutls_session_t session, int init)
ret =
_gnutls_recv_int(session, GNUTLS_CHANGE_CIPHER_SPEC,
- -1, NULL, &ch, ccs_len, NULL, tleft);
+ -1, NULL, ccs, ccs_len, NULL, tleft);
if (ret <= 0) {
ERR("recv ChangeCipherSpec", ret);
gnutls_assert();