From e2568b5d0a5e34f02adda788e51ed0147644bec9 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Fri, 10 Apr 2020 10:18:35 -0400 Subject: misc: check return values from vlib_buffer_copy(...) vlib_buffer_copy(...) returns NULL if the system is temporarily out of buffers. This is NOT correct. Please don't be this person: c0 = vlib_buffer_copy (vm, p0); ci0 = vlib_get_buffer_index (vm, c0); Type: fix Signed-off-by: Dave Barach (cherry picked from commit c25ef58965871ea5d2b40904df9506803f69e47e) Change-Id: I6cd4f289c4fadc3f36c3203b53546e9a788ef99b --- src/vnet/ip/ip6_neighbor.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/vnet/ip/ip6_neighbor.c') diff --git a/src/vnet/ip/ip6_neighbor.c b/src/vnet/ip/ip6_neighbor.c index 87aa581b00e..efc687a038b 100644 --- a/src/vnet/ip/ip6_neighbor.c +++ b/src/vnet/ip/ip6_neighbor.c @@ -2403,6 +2403,9 @@ check_send_rs (vlib_main_t * vm, ip6_radv_t * radv_info, f64 current_time, next_index = ip6_rewrite_mcast_node.index; c0 = vlib_buffer_copy (vm, p0); + if (c0 == 0) + return radv_info->keep_sending_rs; + ci0 = vlib_get_buffer_index (vm, c0); f = vlib_get_frame_to_node (vm, next_index); -- cgit 1.2.3-korg