BUG/MINOR: mux-h2: always reset rcvd_s when switching to a new frame

In Patrick's trace it was visible that after a stream had been missed,
the next stream would receive a WINDOW_UPDATE with the first one's
credit added to its own. This makes sense because in case of error
h2c->rcvd_s is not reset. Given that this counter is per frame, better
reset it when starting to parse a new frame, it's easier and safer.

This must be backported as far as 1.8.
This commit is contained in:
Willy Tarreau 2019-08-06 15:49:51 +02:00
parent e74679a9c6
commit 30d05f3557

View File

@ -2301,6 +2301,8 @@ static void h2_process_demux(struct h2c *h2c)
break;
if (h2c->st0 == H2_CS_FRAME_H) {
h2c->rcvd_s = 0;
if (!h2_peek_frame_hdr(&h2c->dbuf, 0, &hdr))
break;