commit 45c7e2bc39a1620f2c853bd382175f874aa9f1bc parent 2106f6f2bb9bda5c56c33eb0f795b54c61b5a933 Author: Evgeny Grin (Karlson2k) <k2k@narod.ru> Date: Mon, 7 Jun 2021 12:26:28 +0300 MHD_queue_response: check whether provided status code is a three digits code Diffstat:
| M | src/microhttpd/connection.c | | | 11 | +++++++++++ |
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c @@ -4234,6 +4234,17 @@ MHD_queue_response (struct MHD_Connection *connection, return MHD_NO; } #endif /* UPGRADE_SUPPORT */ + if ( (100 > (status_code & (~MHD_ICY_FLAG))) || + (999 < (status_code & (~MHD_ICY_FLAG))) ) + { +#ifdef HAVE_MESSAGES + MHD_DLOG (daemon, + _ ("Refused wrong status code (%u). " \ + "HTTP required three digits status code!\n"), + (status_code & (~MHD_ICY_FLAG))); +#endif + return MHD_NO; + } MHD_increment_response_rc (response); connection->response = response; connection->responseCode = status_code;