summaryrefslogtreecommitdiffstats
path: root/ssl/ssl_sess.c
diff options
context:
space:
mode:
authorBodo Möller <bodo@openssl.org>2005-12-30 23:51:57 +0000
committerBodo Möller <bodo@openssl.org>2005-12-30 23:51:57 +0000
commita14afd080498d06fe0c8a2c24c875d8559985bb6 (patch)
treef4d56a4048ef19060e7b3d827fd0b4d0cb83d4c6 /ssl/ssl_sess.c
parent25d5d1a60d1492eca0f1c8b6683d768bd487303d (diff)
Rewrite timeout computation in a way that is less prone to overflow.
(Problem reported by Peter Sylvester.)
Diffstat (limited to 'ssl/ssl_sess.c')
-rw-r--r--ssl/ssl_sess.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
index da6b023c36..2f26593c70 100644
--- a/ssl/ssl_sess.c
+++ b/ssl/ssl_sess.c
@@ -389,7 +389,7 @@ int ssl_get_prev_session(SSL *s, unsigned char *session_id, int len)
CRYPTO_add(&ret->references,1,CRYPTO_LOCK_SSL_SESSION);
#endif
- if ((long)(ret->time+ret->timeout) < (long)time(NULL)) /* timeout */
+ if (ret->timeout < (long)(time(NULL) - ret->time)) /* timeout */
{
s->ctx->stats.sess_timeout++;
/* remove it from the cache */