diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2015-03-20 09:32:19 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2015-03-20 09:48:08 +0100 |
commit | 57b8c09d6597efe36cfa2d2738d786081718b204 (patch) | |
tree | 4f1575844736233f9346a049f05bfa5def0cceb1 | |
parent | 20bd6799b299fc16a58f60d4d608c77450dcb265 (diff) | |
download | gnutls-57b8c09d6597efe36cfa2d2738d786081718b204.tar.gz |
avoid overflow when receiving DTLS 0.9 CCS
-rw-r--r-- | lib/gnutls_handshake.c | 4 |
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(); |