BUG/MINOR: h3: missing goto on buf alloc failure

The following patch introduced proper error management on buffer
allocation failure :
  0abde9dee6
  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.
This commit is contained in:
Amaury Denoyelle 2023-05-15 09:35:59 +02:00
parent 1611a7659b
commit 6133aba889

View File

@ -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);