mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 22:31:28 +02:00
BUG/MINOR: mux-h1: Don't stop anymore input processing when the max is reached
The loop is now stopped only when nothing else is consumed from the input buffer or if a parsing error is encountered. This will let a chance to detect cases when we fail to add the EOM. For instance, when the max is reached after the headers parsing and all the message is received. In this case, we may have the flag H1S_F_REOS set without the flag H1S_F_APPEND_EOM and no pending input data, leading to an error because we think it is an abort. This patch must be backported to 2.0. This bug does not affect 1.9.
This commit is contained in:
parent
8427d0d6f8
commit
6b32192cfb
@ -1496,7 +1496,7 @@ static size_t h1_process_input(struct h1c *h1c, struct buffer *buf, size_t count
|
||||
}
|
||||
|
||||
count -= htx_used_space(htx) - used;
|
||||
} while (!(h1s->flags & errflag) && count);
|
||||
} while (!(h1s->flags & errflag));
|
||||
|
||||
if (h1s->flags & errflag)
|
||||
goto parsing_err;
|
||||
|
Loading…
x
Reference in New Issue
Block a user