From 1b33fde6bdf54de22fb97f1b0a6730a40fd6560f Mon Sep 17 00:00:00 2001 From: Andrew Yourtchenko Date: Thu, 16 Mar 2017 12:24:24 +0000 Subject: ping: Fix coverity error 163907 Return an error if the ip6_interface_first_address decides to return NULL. Change-Id: Iea0184382b8fbe2af81a781c3671687a1fbb5b32 Signed-off-by: Andrew Yourtchenko --- src/vnet/ip/ping.c | 5 +++++ src/vnet/ip/ping.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/vnet/ip/ping.c b/src/vnet/ip/ping.c index e4f2ee72f82..a2b96ab6289 100644 --- a/src/vnet/ip/ping.c +++ b/src/vnet/ip/ping.c @@ -307,6 +307,11 @@ send_ip6_ping (vlib_main_t * vm, ip6_main_t * im, /* Fill in the correct source now */ ip6_address_t *a = ip6_interface_first_address (im, sw_if_index); + if (!a) + { + vlib_buffer_free (vm, &bi0, 1); + return SEND_PING_NO_SRC_ADDRESS; + } h0->ip6.src_address = a[0]; /* Fill in icmp fields */ diff --git a/src/vnet/ip/ping.h b/src/vnet/ip/ping.h index 1887314a93c..0af9d5871f1 100644 --- a/src/vnet/ip/ping.h +++ b/src/vnet/ip/ping.h @@ -32,6 +32,7 @@ typedef enum SEND_PING_ALLOC_FAIL, SEND_PING_NO_INTERFACE, SEND_PING_NO_TABLE, + SEND_PING_NO_SRC_ADDRESS, } send_ip46_ping_result_t; /* -- cgit 1.2.3-korg