BUG/MEDIUM: mux-h2: report no available stream on a connection having errors

If an H2 mux has met an error, we must not report available streams
anymore, or it risks to accumulate new streams while not being able
to process them.

This should be backported to 2.0 and 1.9.
This commit is contained in:
Willy Tarreau 2019-10-31 15:10:03 +01:00
parent 33cc76f918
commit c61966f9b4

View File

@ -752,6 +752,9 @@ static int h2_avail_streams(struct connection *conn)
if (h2c->last_sid >= 0)
return 0;
if (h2c->st0 >= H2_CS_ERROR)
return 0;
/* note: may be negative if a SETTINGS frame changes the limit */
ret1 = h2c->streams_limit - h2c->nb_streams;