libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

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:
MChangeLog | 5+++++
Msrc/daemon/daemon.c | 5+++--
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; }