From: Willy Tarreau Date: Thu, 24 Jan 2019 09:26:47 +0000 (+0100) Subject: BUG/MEDIUM: mux-h2: properly abort on trailers decoding errors X-Git-Tag: v2.0-dev1~171 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=31e846a07197034938ad5028486eaddc93a440d8;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: mux-h2: properly abort on trailers decoding errors There was an incomplete test in h2c_frt_handle_headers() resulting in negative return values from h2c_decode_headers() not being taken as errors. The effect is that the stream is then aborted on timeout only. This fix must be backported to 1.9. --- diff --git a/src/mux_h2.c b/src/mux_h2.c index 47f0e8cc31..4e128d0388 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -1865,7 +1865,7 @@ static struct h2s *h2c_frt_handle_headers(struct h2c *h2c, struct h2s *h2s) if (h2s->st != H2_SS_IDLE) { /* The stream exists/existed, this must be a trailers frame */ if (h2s->st != H2_SS_CLOSED) { - if (!h2c_decode_headers(h2c, &h2s->rxbuf, &h2s->flags)) + if (h2c_decode_headers(h2c, &h2s->rxbuf, &h2s->flags) <= 0) goto out; goto done; }