MINOR: h3: fix possible invalid dereference on htx parsing
The htx variable is only initialized if we have received a HTTP/3
HEADERS frame. Else it must not be dereferenced.
This should fix the compilation on CI with gcc.
src/h3.c: In function ‘h3_decode_qcs’:
src/h3.c:224:14: error: ‘htx’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
224 | htx->flags |= HTX_FL_EOM
diff --git a/src/h3.c b/src/h3.c
index 970b957..79d7460 100644
--- a/src/h3.c
+++ b/src/h3.c
@@ -100,7 +100,7 @@
{
struct buffer *rxbuf = &qcs->rx.buf;
struct h3 *h3 = ctx;
- struct htx *htx;
+ struct htx *htx = NULL;
struct htx_sl *sl;
struct conn_stream *cs;
struct http_hdr list[global.tune.max_http_hdr];
@@ -220,8 +220,10 @@
b_del(rxbuf, flen);
}
- if (fin && !b_data(rxbuf))
- htx->flags |= HTX_FL_EOM;
+ if (htx) {
+ if (fin && !b_data(rxbuf))
+ htx->flags |= HTX_FL_EOM;
+ }
return 0;