]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Small fixes.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 26 Feb 2013 22:38:14 +0000 (23:38 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 26 Feb 2013 22:38:14 +0000 (23:38 +0100)
lib/gnutls_db.c
lib/gnutls_handshake.c
lib/gnutls_session_pack.c

index 1ef7e73650bfe47f5a35b05936ac849f7459f34a..446acf41747f469e6e2fecbf4c0149bd9bb0345b 100644 (file)
@@ -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;
 }
index 5d216ccd19ba45029986f782dfa88f0b6e7c8bd0..3f1a418c5e031fbc3d4870e1992e680cd7604b67 100644 (file)
@@ -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 ();
index b7a5f8b3b63967fc65b0c31d208ee5fb8748202d..d3088fb3496010e5605861b548e3a545fd6e9866 100644 (file)
@@ -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)