libmicrohttpd

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

commit 07be6ed3522a165e25ef8b6c563e986d74a3bb42
parent b4c86736249bb057b04ea9ee8808a12c62b41463
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Fri,  7 Aug 2015 07:38:10 +0000

connection.c: try_ready_chunked_body(): microoptimization, additional error checking

Diffstat:
Msrc/microhttpd/connection.c | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c @@ -406,7 +406,7 @@ try_ready_chunked_body (struct MHD_Connection *connection) struct MHD_Response *response; size_t size; char cbuf[10]; /* 10: max strlen of "%x\r\n" */ - size_t cblen; + int cblen; response = connection->response; if (0 == connection->write_buffer_size) @@ -479,11 +479,11 @@ try_ready_chunked_body (struct MHD_Connection *connection) } if (ret > 0xFFFFFF) ret = 0xFFFFFF; - MHD_snprintf_ (cbuf, + cblen = MHD_snprintf_(cbuf, sizeof (cbuf), "%X\r\n", (unsigned int) ret); - cblen = strlen (cbuf); - EXTRA_CHECK (cblen <= sizeof (cbuf)); + EXTRA_CHECK(cblen > 0); + EXTRA_CHECK(cblen < sizeof(cbuf)); memcpy (&connection->write_buffer[sizeof (cbuf) - cblen], cbuf, cblen); memcpy (&connection->write_buffer[sizeof (cbuf) + ret], "\r\n", 2); connection->response_write_position += ret;