httpd: fix bug where we were trying to read more POSTDATA than content-length

This commit is contained in:
Denis Vlasenko 2007-10-14 02:34:20 +00:00
parent 9435993b01
commit 4a4575686e

View File

@ -1051,6 +1051,17 @@ static NOINLINE void cgi_io_loop_and_exit(int fromCgi_rd, int toCgi_wr, int post
* and send it to the peer. So please no SIGPIPEs! */
signal(SIGPIPE, SIG_IGN);
// We inconsistently handle a case when more POSTDATA from network
// is coming than we expected. We may give *some part* of that
// extra data to CGI.
//if (hdr_cnt > post_len) {
// /* We got more POSTDATA from network than we expected */
// hdr_cnt = post_len;
//}
post_len -= hdr_cnt;
/* post_len - number of POST bytes not yet read from network */
/* NB: breaking out of this loop jumps to log_and_exit() */
out_cnt = 0;
while (1) {