fib: fix accessing empty dpo pool elements
[vpp.git] / src / vnet / dpo / replicate_dpo.c
index 69e367a..cd753dc 100644 (file)
@@ -687,7 +687,10 @@ replicate_show (vlib_main_t * vm,
 
     if (INDEX_INVALID != repi)
     {
-        vlib_cli_output (vm, "%U", format_replicate, repi,
+           if (pool_is_free_index (replicate_pool, repi))
+               vlib_cli_output (vm, "no such index %d", repi);
+           else
+               vlib_cli_output (vm, "%U", format_replicate, repi,
                          REPLICATE_FORMAT_DETAIL);
     }
     else
@@ -789,10 +792,7 @@ replicate_inline (vlib_main_t * vm,
                     replicate_trace_t *t;
 
                     if (c0 != b0)
-                    {
-                        vlib_buffer_copy_trace_flag (vm, b0, ci0);
-                        VLIB_BUFFER_TRACE_TRAJECTORY_INIT (c0);
-                    }
+                     VLIB_BUFFER_TRACE_TRAJECTORY_INIT (c0);
                     t = vlib_add_trace (vm, node, c0, sizeof (*t));
                     t->rep_index = repi0;
                     t->dpo = *dpo0;