MINOR: quic: Fix potential null pointer dereference
Fix compilation warnings about non initialized pointers.
This partially address #1445 github issue.
diff --git a/src/quic_sock.c b/src/quic_sock.c
index 875779d..bb6cb61 100644
--- a/src/quic_sock.c
+++ b/src/quic_sock.c
@@ -178,7 +178,7 @@
struct rxbuf *rxbuf;
struct buffer *buf;
struct listener *l = objt_listener(fdtab[fd].owner);
- struct quic_transport_params *params = &l->bind_conf->quic_params;
+ struct quic_transport_params *params;
/* Source address */
struct sockaddr_storage saddr = {0};
size_t max_sz;
@@ -186,11 +186,18 @@
BUG_ON(!l);
+ if (!l)
+ return;
+
if (!(fdtab[fd].state & FD_POLL_IN) || !fd_recv_ready(fd))
return;
rxbuf = MT_LIST_POP(&l->rx.rxbuf_list, typeof(rxbuf), mt_list);
buf = &rxbuf->buf;
+ if (!buf)
+ goto out;
+
+ params = &l->bind_conf->quic_params;
max_sz = params->max_udp_payload_size;
if (b_contig_space(buf) < max_sz) {
/* Note that when we enter this function, <buf> is always empty */
diff --git a/src/xprt_quic.c b/src/xprt_quic.c
index 09722c0..0fdc7aa 100644
--- a/src/xprt_quic.c
+++ b/src/xprt_quic.c
@@ -3309,6 +3309,7 @@
struct quic_enc_level *qel;
qc = NULL;
+ qel = NULL;
TRACE_ENTER(QUIC_EV_CONN_SPKT);
if (end <= *buf)
goto err;
@@ -3461,6 +3462,7 @@
qc = NULL;
conn_ctx = NULL;
+ qel = NULL;
TRACE_ENTER(QUIC_EV_CONN_LPKT, NULL, pkt);
if (end <= *buf)
goto err;