- Added const-correctness to main codebase

diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index 8e3bfc3..5802fdc 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -90,7 +90,7 @@
     n = ssl->session->length;
 
     if( n < 16 || n > 32 || ssl->resume == 0 ||
-        t - ssl->session->start > ssl->timeout )
+        ( ssl->timeout != 0 && t - ssl->session->start > ssl->timeout ) )
         n = 0;
 
     *p++ = (unsigned char) n;
@@ -274,7 +274,12 @@
     else
     {
         ssl->state = SSL_SERVER_CHANGE_CIPHER_SPEC;
-        ssl_derive_keys( ssl );
+
+        if( ( ret = ssl_derive_keys( ssl ) ) != 0 )
+        {
+            SSL_DEBUG_RET( 1, "ssl_derive_keys", ret );
+            return( ret );
+        }
     }
 
     SSL_DEBUG_MSG( 3, ( "%s session has been resumed",
@@ -584,7 +589,11 @@
         }
     }
 
-    ssl_derive_keys( ssl );
+    if( ( ret = ssl_derive_keys( ssl ) ) != 0 )
+    {
+        SSL_DEBUG_RET( 1, "ssl_derive_keys", ret );
+        return( ret );
+    }
 
     ssl->out_msglen  = i + n;
     ssl->out_msgtype = SSL_MSG_HANDSHAKE;