diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-02-26 23:38:14 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-02-26 23:38:14 +0100 |
commit | 100bc501a4e850eb9ba21bb5088b2a582e422c80 (patch) | |
tree | 6aad3e27b4c0c876c10ad958dddb463ef40ad1af | |
parent | 7e1b0d936e90c932376cdb9dc86f2fff604dcb65 (diff) | |
download | gnutls-100bc501a4e850eb9ba21bb5088b2a582e422c80.tar.gz |
Small fixes.
-rw-r--r-- | lib/gnutls_db.c | 3 | ||||
-rw-r--r-- | lib/gnutls_handshake.c | 3 | ||||
-rw-r--r-- | lib/gnutls_session_pack.c | 7 |
3 files changed, 9 insertions, 4 deletions
diff --git a/lib/gnutls_db.c b/lib/gnutls_db.c index 1ef7e73650..446acf4174 100644 --- a/lib/gnutls_db.c +++ b/lib/gnutls_db.c @@ -306,13 +306,14 @@ _gnutls_server_restore_session (gnutls_session_t session, /* expiration check is performed inside */ ret = gnutls_session_set_data (session, data.data, data.size); + gnutls_free (data.data); + if (ret < 0) { gnutls_assert (); return ret; } - gnutls_free (data.data); return 0; } diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c index 5d216ccd19..3f1a418c5e 100644 --- a/lib/gnutls_handshake.c +++ b/lib/gnutls_handshake.c @@ -3101,7 +3101,6 @@ _gnutls_handshake_server (gnutls_session_t session) return 0; } - int _gnutls_generate_session_id (uint8_t * session_id, uint8_t * len) { @@ -3109,7 +3108,7 @@ _gnutls_generate_session_id (uint8_t * session_id, uint8_t * len) *len = TLS_MAX_SESSION_ID_SIZE; - ret = _gnutls_rnd (GNUTLS_RND_NONCE, session_id, *len); + ret = _gnutls_rnd (GNUTLS_RND_NONCE, session_id, TLS_MAX_SESSION_ID_SIZE); if (ret < 0) { gnutls_assert (); diff --git a/lib/gnutls_session_pack.c b/lib/gnutls_session_pack.c index b7a5f8b3b6..d3088fb349 100644 --- a/lib/gnutls_session_pack.c +++ b/lib/gnutls_session_pack.c @@ -822,7 +822,6 @@ unpack_security_parameters (gnutls_session_t session, gnutls_buffer_st * ps) timestamp = gnutls_time (0); - BUFFER_POP_NUM (ps, session->internals.resumed_security_parameters.entity); BUFFER_POP_NUM (ps, session->internals.resumed_security_parameters.kx_algorithm); @@ -863,6 +862,12 @@ unpack_security_parameters (gnutls_session_t session, gnutls_buffer_st * ps) BUFFER_POP_NUM (ps, session->internals.resumed_security_parameters.ecc_curve); + if (session->internals.resumed_security_parameters.max_record_recv_size == 0 || + session->internals.resumed_security_parameters.max_record_send_size == 0) + { + return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR); + } + if (timestamp - session->internals.resumed_security_parameters.timestamp > session->internals.expire_time || session->internals.resumed_security_parameters.timestamp > timestamp) |