diff --git a/mongoose.c b/mongoose.c index 0d0328d9fe63cd67ed0ecdc6e8854a7ef4138763..fadf708089e34625795772e9c34550f5d255d53f 100644 --- a/mongoose.c +++ b/mongoose.c @@ -1878,6 +1878,9 @@ static void open_cgi_endpoint(struct connection *conn, const char *prog) { ns_send(conn->ns_conn, cgi_status, sizeof(cgi_status) - 1); conn->mg_conn.status_code = 200; conn->ns_conn->flags |= NSF_BUFFER_BUT_DONT_SEND; + // Pass POST data to the CGI process + conn->endpoint.cgi_conn->send_iobuf = conn->ns_conn->recv_iobuf; + iobuf_init(&conn->ns_conn->recv_iobuf, 0); } else { closesocket(fds[0]); send_http_error(conn, 500, "start_process(%s) failed", prog);