summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Denoyelle <adenoyelle@haproxy.com>2023-05-15 09:35:59 +0200
committerAmaury Denoyelle <adenoyelle@haproxy.com>2023-05-15 14:57:56 +0200
commit6133aba8896a939d16c2077ff25140651909192b (patch)
treee3c32b4db4673723a2635f90b7c3212210077f8c
parent1611a7659b25a9bdc226790b4acb185eb3de2414 (diff)
downloadhaproxy-6133aba8896a939d16c2077ff25140651909192b.tar.gz
BUG/MINOR: h3: missing goto on buf alloc failure
The following patch introduced proper error management on buffer allocation failure : 0abde9dee69fe151f5f181a34e0782ef840abe53 BUG/MINOR: mux-quic: properly handle buf alloc failure However, when decoding an empty STREAM frame with just FIN bit set, this was not done correctly. Indeed, there is a missing goto statement in case of a NULL buffer check. This was reported thanks to coverity analysis. This should fix github issue #2163. This must be backported up to 2.6.
-rw-r--r--src/h3.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/h3.c b/src/h3.c
index 99c2d7647..50e6b4f81 100644
--- a/src/h3.c
+++ b/src/h3.c
@@ -1061,6 +1061,7 @@ static ssize_t h3_decode_qcs(struct qcs *qcs, struct buffer *b, int fin)
if (!(appbuf = qc_get_buf(qcs, &qcs->rx.app_buf))) {
TRACE_ERROR("data buffer alloc failure", H3_EV_RX_FRAME, qcs->qcc->conn, qcs);
h3c->err = H3_INTERNAL_ERROR;
+ goto err;
}
htx = htx_from_buf(appbuf);