From 31e846a07197034938ad5028486eaddc93a440d8 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 24 Jan 2019 10:26:47 +0100 Subject: [PATCH] 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. --- src/mux_h2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mux_h2.c b/src/mux_h2.c index 47f0e8cc3..4e128d038 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; } -- 2.47.3