BUG/MINOR: mux-h1: Don't process input or ouput if an error occurred

It is useless to proceed if an error already occurred. Instead, it is better to
wait it will be catched by the stream or the connection, depending on which is
the first one to detect it.

This patch must be backported to 2.0.
This commit is contained in:
Christopher Faulet 2019-07-04 21:22:34 +02:00
parent f8db73efbe
commit 0e54d547f1

View File

@ -1390,6 +1390,9 @@ static size_t h1_process_input(struct h1c *h1c, struct buffer *buf, size_t count
}
data = htx->data;
if (h1s->flags & errflag)
goto end;
do {
size_t used = htx_used_space(htx);
@ -1507,6 +1510,9 @@ static size_t h1_process_output(struct h1c *h1c, struct buffer *buf, size_t coun
errflag = H1S_F_REQ_ERROR;
}
if (h1s->flags & errflag)
goto end;
/* the htx is non-empty thus has at least one block */
blk = htx_get_head_blk(chn_htx);