From ff191de1ca0102f1e1926ba261fb99d96d304cb7 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Mon, 21 Feb 2022 18:38:29 +0100 Subject: [PATCH] MINOR: h3: fix compiler warning variable set but not used Some variables were only checked via BUG_ON macro. If compiling without DEBUG_STRICT, this instruction is a noop. Fix this by using an explicit condition + ABORT_NOW. This should fix the github issue #1549. --- src/h3.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/h3.c b/src/h3.c index 5f2757ff8..965812e77 100644 --- a/src/h3.c +++ b/src/h3.c @@ -211,11 +211,14 @@ static int h3_data_to_htx(struct qcs *qcs, struct buffer *buf, uint64_t len, htx = htx_from_buf(appbuf); htx_space = htx_free_data_space(htx); - BUG_ON(!htx_space || htx_space < len); + if (!htx_space || htx_space < len) { + ABORT_NOW(); /* TODO handle this case properly */ + } htx_sent = htx_add_data(htx, ist2(b_head(buf), len)); - /* TODO handle full appbuf */ - BUG_ON(htx_sent < len); + if (htx_sent < len) { + ABORT_NOW(); /* TODO handle this case properly */ + } if (fin) htx->flags |= HTX_FL_EOM; @@ -264,12 +267,12 @@ static int h3_decode_qcs(struct qcs *qcs, int fin, void *ctx) case H3_FT_DATA: ret = h3_data_to_htx(qcs, rxbuf, flen, last_stream_frame); /* TODO handle error reporting. Stream closure required. */ - BUG_ON(ret); + if (ret) { ABORT_NOW(); } break; case H3_FT_HEADERS: ret = h3_headers_to_htx(qcs, rxbuf, flen, last_stream_frame); /* TODO handle error reporting. Stream closure required. */ - BUG_ON(ret); + if (ret) { ABORT_NOW(); } break; case H3_FT_PUSH_PROMISE: /* Not supported */