[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r36220 - libmicrohttpd/src/microhttpd
From: |
gnunet |
Subject: |
[GNUnet-SVN] r36220 - libmicrohttpd/src/microhttpd |
Date: |
Fri, 7 Aug 2015 09:37:57 +0200 |
Author: Karlson2k
Date: 2015-08-07 09:37:57 +0200 (Fri, 07 Aug 2015)
New Revision: 36220
Modified:
libmicrohttpd/src/microhttpd/MHD_limits.h
libmicrohttpd/src/microhttpd/connection.c
Log:
connection.c: MHD_connection_handle_write(): check for limits, fix compiler
warning
Modified: libmicrohttpd/src/microhttpd/MHD_limits.h
===================================================================
--- libmicrohttpd/src/microhttpd/MHD_limits.h 2015-08-06 15:45:32 UTC (rev
36219)
+++ libmicrohttpd/src/microhttpd/MHD_limits.h 2015-08-07 07:37:57 UTC (rev
36220)
@@ -37,6 +37,10 @@
#define INT32_MAX ((int32_t)0x7FFFFFFF)
#endif /* !INT32_MAX */
+#ifndef SIZE_MAX
+#define SIZE_MAX ((size_t) ~((size_t)0))
+#endif /* !SIZE_MAX */
+
#ifndef OFF_T_MAX
#define OFF_T_MAX ((off_t) ~(((uint64_t) 1) << (8 * sizeof(off_t) - 1)))
#endif /* !OFF_T_MAX */
Modified: libmicrohttpd/src/microhttpd/connection.c
===================================================================
--- libmicrohttpd/src/microhttpd/connection.c 2015-08-06 15:45:32 UTC (rev
36219)
+++ libmicrohttpd/src/microhttpd/connection.c 2015-08-07 07:37:57 UTC (rev
36220)
@@ -2133,18 +2133,22 @@
if (connection->response_write_position <
connection->response->total_size)
{
+ int err;
+ uint64_t data_write_offset;
if (NULL != response->crc)
(void) MHD_mutex_lock_ (&response->mutex);
if (MHD_YES != try_ready_normal_body (connection))
break;
+ data_write_offset = connection->response_write_position
+ - response->data_start;
+ if (data_write_offset > (uint64_t)SIZE_MAX)
+ MHD_PANIC("Data offset exceeds limit");
ret = connection->send_cls (connection,
&response->data
- [connection->response_write_position
- - response->data_start],
+ [(size_t)data_write_offset],
response->data_size -
- (connection->response_write_position
- - response->data_start));
- const int err = MHD_socket_errno_;
+ (size_t)data_write_offset);
+ err = MHD_socket_errno_;
#if DEBUG_SEND_DATA
if (ret > 0)
fprintf (stderr,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r36220 - libmicrohttpd/src/microhttpd,
gnunet <=