From 50f4a417147ae4aae6ad8cddb0c7709420c712f0 Mon Sep 17 00:00:00 2001 From: Nathan Skrzypczak Date: Thu, 4 Jul 2019 14:20:17 +0200 Subject: udp: UDPC handle open fail Type: fix Change-Id: Ib8fb4957f4da9e464e2575c45c8ff3828db89872 Signed-off-by: Nathan Skrzypczak --- src/vnet/udp/udp.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/vnet/udp') diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c index 1fb7a507544..fafe8900242 100644 --- a/src/vnet/udp/udp.c +++ b/src/vnet/udp/udp.c @@ -357,9 +357,10 @@ udpc_connection_open (transport_endpoint_cfg_t * rmt) u32 thread_index = vlib_num_workers ()? 1 : vlib_get_main ()->thread_index; u32 uc_index; uc_index = udp_open_connection (rmt); + if (uc_index == (u32) ~ 0) + return -1; uc = udp_connection_get (uc_index, thread_index); - if (uc) - uc->is_connected = 1; + uc->is_connected = 1; return uc_index; } @@ -367,11 +368,13 @@ u32 udpc_connection_listen (u32 session_index, transport_endpoint_t * lcl) { udp_connection_t *listener; - u32 li; - li = udp_session_bind (session_index, lcl); - listener = udp_listener_get (li); + u32 li_index; + li_index = udp_session_bind (session_index, lcl); + if (li_index == (u32) ~ 0) + return -1; + listener = udp_listener_get (li_index); listener->is_connected = 1; - return li; + return li_index; } /* *INDENT-OFF* */ -- cgit 1.2.3-korg