httpd: fix bug where we were trying to read more POSTDATA than content-length
This commit is contained in:
parent
9435993b01
commit
4a4575686e
@ -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! */
|
* and send it to the peer. So please no SIGPIPEs! */
|
||||||
signal(SIGPIPE, SIG_IGN);
|
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() */
|
/* NB: breaking out of this loop jumps to log_and_exit() */
|
||||||
out_cnt = 0;
|
out_cnt = 0;
|
||||||
while (1) {
|
while (1) {
|
||||||
|
Loading…
Reference in New Issue
Block a user