diff --git a/src/mux_h2.c b/src/mux_h2.c index b2b1d4718..5d9bb20e9 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -4156,7 +4156,8 @@ static int h2_recv(struct h2c *h2c) TRACE_DATA("received read0", H2_EV_H2C_RECV, h2c->conn); h2c->flags |= H2_CF_RCVD_SHUT; } - if (h2c->conn->flags & CO_FL_ERROR && !b_data(&h2c->dbuf)) { + if (h2c->conn->flags & CO_FL_ERROR && + (!b_data(&h2c->dbuf) || (h2c->flags & H2_CF_DEM_SHORT_READ))) { TRACE_DATA("connection error", H2_EV_H2C_RECV, h2c->conn); h2c->flags |= H2_CF_ERROR; }