[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r36230 - libmicrohttpd/src/microhttpd
From: |
gnunet |
Subject: |
[GNUnet-SVN] r36230 - libmicrohttpd/src/microhttpd |
Date: |
Sat, 8 Aug 2015 14:29:51 +0200 |
Author: Karlson2k
Date: 2015-08-08 14:29:51 +0200 (Sat, 08 Aug 2015)
New Revision: 36230
Modified:
libmicrohttpd/src/microhttpd/MHD_limits.h
libmicrohttpd/src/microhttpd/daemon.c
Log:
daemon.c: MHD_get_timeout(): check for value overflow
Modified: libmicrohttpd/src/microhttpd/MHD_limits.h
===================================================================
--- libmicrohttpd/src/microhttpd/MHD_limits.h 2015-08-08 12:29:43 UTC (rev
36229)
+++ libmicrohttpd/src/microhttpd/MHD_limits.h 2015-08-08 12:29:51 UTC (rev
36230)
@@ -36,6 +36,10 @@
#define LONG_MAX ((long) ~(((uint64_t) 1) << (8 * sizeof(long) - 1)))
#endif /* !OFF_T_MAX */
+#ifndef ULLONG_MAX
+#define ((MHD_UNSIGNED_LONG_LONG) ~((MHD_UNSIGNED_LONG_LONG)0))
+#endif /* !ULLONG_MAX */
+
#ifndef INT32_MAX
#define INT32_MAX ((int32_t)0x7FFFFFFF)
#endif /* !INT32_MAX */
Modified: libmicrohttpd/src/microhttpd/daemon.c
===================================================================
--- libmicrohttpd/src/microhttpd/daemon.c 2015-08-08 12:29:43 UTC (rev
36229)
+++ libmicrohttpd/src/microhttpd/daemon.c 2015-08-08 12:29:51 UTC (rev
36230)
@@ -2179,7 +2179,13 @@
if (earliest_deadline < now)
*timeout = 0;
else
- *timeout = 1000 * (1 + earliest_deadline - now);
+ {
+ const time_t second_left = earliest_deadline - now;
+ if (second_left > ULLONG_MAX / 1000)
+ *timeout = ULLONG_MAX;
+ else
+ *timeout = 1000 * second_left;
+ }
return MHD_YES;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r36230 - libmicrohttpd/src/microhttpd,
gnunet <=