commit 20767d5dec4abe6078ed73365cb566fe985a8319
parent 4bc166ee2fc716f68e120fce514bd69a26146f28
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date: Mon, 17 Jun 2019 11:25:56 +0300
transmit_error_response(): discard read buffer to free space for error response
Diffstat:
1 file changed, 10 insertions(+), 0 deletions(-)
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c
@@ -1995,6 +1995,16 @@ transmit_error_response (struct MHD_Connection *connection,
}
connection->state = MHD_CONNECTION_FOOTERS_RECEIVED;
connection->read_closed = true;
+ if (0 != connection->read_buffer_size)
+ {
+ /* Read buffer is not needed anymore, discard it
+ * to free some space for error response. */
+ connection->read_buffer = MHD_pool_reallocate(connection->pool,
+ connection->read_buffer,
+ connection->read_buffer_size,
+ 0);
+ connection->read_buffer_size = 0;
+ }
#ifdef HAVE_MESSAGES
MHD_DLOG (connection->daemon,
_("Error processing request (HTTP response code is %u (`%s')). Closing connection.\n"),