libmicrohttpd

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

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:
Msrc/microhttpd/connection.c | 10++++++++++
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"),