BUG/MINOR: quic: NULL pointer dereferences when building post handshake frames.
The second one was detected by cppcheck contrary to the first one.
Fixes issue #1032.
Thank you to Ilya for having reported this.
diff --git a/src/xprt_quic.c b/src/xprt_quic.c
index c20d877..7232c65 100644
--- a/src/xprt_quic.c
+++ b/src/xprt_quic.c
@@ -1871,6 +1871,9 @@
/* Only servers must send a HANDSHAKE_DONE frame. */
if (!objt_server(conn->conn->target)) {
frm = pool_alloc(pool_head_quic_frame);
+ if (!frm)
+ return 0;
+
frm->type = QUIC_FT_HANDSHAKE_DONE;
LIST_ADDQ(&conn->tx.frms_to_send, &frm->list);
}
@@ -1879,7 +1882,6 @@
struct quic_connection_id *cid;
frm = pool_alloc(pool_head_quic_frame);
- memset(frm, 0, sizeof *frm);
cid = new_quic_cid(&conn->cids, i);
if (!frm || !cid)
goto err;