From 0e54d547f11a7b51fa27c334f666c312d0c2625a Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Thu, 4 Jul 2019 21:22:34 +0200 Subject: [PATCH] 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. --- src/mux_h1.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mux_h1.c b/src/mux_h1.c index 89d9b7b651..8712d2a0f8 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -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); -- 2.39.5