From c2f6d28910f6cb5725305fc3104e33400fc8a3fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Fri, 13 May 2022 16:58:49 +0200 Subject: [PATCH] Fix POST processing of final keys without values 'MHD_destroy_post_processor' should be called before the request callback for ensuring the processing of final keys without terminated values. --- src/webserver.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/webserver.cpp b/src/webserver.cpp index b345c53e..655d2ae4 100644 --- a/src/webserver.cpp +++ b/src/webserver.cpp @@ -662,6 +662,11 @@ MHD_Result webserver::finalize_answer(MHD_Connection* connection, struct details if (found) { try { if (hrm->is_allowed(method)) { + if (mr->pp != NULL) { + MHD_destroy_post_processor(mr->pp); + mr->pp = NULL; + } + mr->dhrs = ((hrm)->*(mr->callback))(*mr->dhr); // copy in memory (move in case) if (mr->dhrs.get() == nullptr || mr->dhrs->get_response_code() == -1) { mr->dhrs = internal_error_page(mr);