quic: cleanup listener if crypto init fails 77/43877/3
authorFlorin Coras <[email protected]>
Fri, 10 Oct 2025 21:41:51 +0000 (17:41 -0400)
committerDave Barach <[email protected]>
Sat, 11 Oct 2025 18:17:50 +0000 (18:17 +0000)
Type: fix

Change-Id: I4d266c5c40a1cc6b1a52840a5576ef1806c9594a
Signed-off-by: Florin Coras <[email protected]>
Signed-off-by: Steven Luong <[email protected]>
src/plugins/quic/quic.c

index f0f66fd..549afd1 100644 (file)
@@ -423,7 +423,15 @@ quic_start_listen (u32 quic_listen_session_index,
   lctx->crypto_engine = ccfg->crypto_engine;
   lctx->ckpair_index = ccfg->ckpair_index;
   if ((rv = quic_eng_crypto_context_acquire (lctx)))
-    return rv;
+    {
+      vnet_unlisten_args_t a = {
+       .handle = udp_handle,
+       .app_index = qm->app_index,
+      };
+      vnet_unlisten (&a);
+      quic_ctx_free (qm, lctx);
+      return rv;
+    }
 
   QUIC_DBG (2, "Listening UDP session 0x%lx",
            session_handle (udp_listen_session));