]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: h3: disable fast-forward on buffer alloc failure
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 22 Dec 2023 15:07:10 +0000 (16:07 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 22 Dec 2023 15:14:23 +0000 (16:14 +0100)
If QCS Tx buffer cannot be allocated in nego_ff callback, disable
fast-forward for this connection and return immediately. If snd_buf is
later finally used but still no buffer can being allocated, the
connection will be closed on error.

This should fix coverity reported in github issue #2390.

This should be backported up to 2.9.

src/h3.c

index 9874aea843a8bbf45c72890e2ec5aa846b6cd8db..f020423ffb443595fcc7930e883bb948afe37077 100644 (file)
--- a/src/h3.c
+++ b/src/h3.c
@@ -2012,7 +2012,8 @@ static size_t h3_nego_ff(struct qcs *qcs, size_t count)
        h3_debug_printf(stderr, "%s\n", __func__);
 
        if (!(res = qcc_get_stream_txbuf(qcs))) {
-               /* TODO */
+               qcs->sd->iobuf.flags |= IOBUF_FL_NO_FF;
+               goto end;
        }
 
        /* h3 DATA headers : 1-byte frame type + varint frame length */