diff --git a/src/mux_h2.c b/src/mux_h2.c index 457df083f..f6a653396 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -5069,8 +5069,10 @@ static int h2_process(struct h2c *h2c) if (h2c->glitches != prev_glitches && !(h2c->flags & H2_CF_IS_BACK)) session_add_glitch_ctr(h2c->conn->owner, h2c->glitches - prev_glitches); - if (h2c->st0 >= H2_CS_ERROR || (h2c->flags & H2_CF_ERROR)) + if (h2c->st0 >= H2_CS_ERROR || (h2c->flags & H2_CF_ERROR)) { b_reset(&h2c->dbuf); + h2c->flags &= ~H2_CF_DEM_DFULL; + } } was_blocked |= !!(h2c->flags & H2_CF_DEM_MROOM); h2_send(h2c);