commit 19c33f86184fb2cc8fdcc18fd5693bccade52e64
parent b54d68ff219a354920cf650bbb5418c5c2af5b66
Author: Christian Grothoff <christian@grothoff.org>
Date: Thu, 19 Jan 2012 16:47:20 +0000
tclaveirole: fixing #2085 with patch from the bugreport
Diffstat:
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jan 19 17:46:05 CET 2012
+ Fixing use of uninitialized 'earliest_deadline' variable in
+ MHD_get_timeout which can lead to returning an incorrect
+ (too early) timeout (#2085). -tclaveirole
+
Thu Jan 19 13:31:27 CET 2012
Fixing digest authentication for GET requests with URI arguments
(#2059). -CG
diff --git a/src/daemon/daemon.c b/src/daemon/daemon.c
@@ -1219,14 +1219,15 @@ MHD_get_timeout (struct MHD_Daemon *daemon,
while (pos != NULL)
{
if (0 != pos->connection_timeout) {
- have_timeout = MHD_YES;
- if (earliest_deadline > pos->last_activity + pos->connection_timeout)
+ if (!have_timeout ||
+ earliest_deadline > pos->last_activity + pos->connection_timeout)
earliest_deadline = pos->last_activity + pos->connection_timeout;
#if HTTPS_SUPPORT
if ( (0 != (daemon->options & MHD_USE_SSL)) &&
(0 != gnutls_record_check_pending (pos->tls_session)) )
earliest_deadline = 0;
#endif
+ have_timeout = MHD_YES;
}
pos = pos->next;
}