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 <dave@barachs.net>
Change-Id: Ic25ef58965871ea5d2b40904df9506803f69e47e
diff --git a/src/vnet/ip6-nd/ip6_ra.c b/src/vnet/ip6-nd/ip6_ra.c
index 769f9da..af82a06 100644
--- a/src/vnet/ip6-nd/ip6_ra.c
+++ b/src/vnet/ip6-nd/ip6_ra.c
@@ -1219,6 +1219,9 @@
   next_index = ip6_rewrite_mcast_node.index;
 
   c0 = vlib_buffer_copy (vm, p0);
+  if (c0 == NULL)
+    return radv_info->keep_sending_rs;
+
   ci0 = vlib_get_buffer_index (vm, c0);
 
   f = vlib_get_frame_to_node (vm, next_index);