X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Futil%2Ftrajectory.c;h=2538c7ee64a8f4697f8dd1fc28883e5fbb4ea6ba;hb=6aa9f5f8dc14cec4005b8bac33b5a8697168548e;hp=24b51254ecd5801f5d6838262a7ddf0045b4acf5;hpb=7bee773e71b81a1e13a656030b0f7edae99c5e92;p=vpp.git diff --git a/src/vnet/util/trajectory.c b/src/vnet/util/trajectory.c index 24b51254ecd..2538c7ee64a 100644 --- a/src/vnet/util/trajectory.c +++ b/src/vnet/util/trajectory.c @@ -44,7 +44,7 @@ vnet_dump_trajectory_trace (vlib_main_t * vm, u32 bi) node_index = trace[i]; - if (node_index > vec_len (vnm->nodes)) + if (node_index >= vec_len (vnm->nodes)) { fformat (stderr, "Skip bogus node index %d\n", node_index); continue; @@ -64,7 +64,11 @@ vnet_dump_trajectory_trace (vlib_main_t * vm, u32 bi) void init_trajectory_trace (vlib_buffer_t * b) { - vec_validate (vnet_buffer2 (b)->trajectory_trace, 7); + if (!clib_mem_is_vec (vnet_buffer2 (b)->trajectory_trace)) + { + vnet_buffer2 (b)->trajectory_trace = 0; + vec_validate (vnet_buffer2 (b)->trajectory_trace, 7); + } _vec_len (vnet_buffer2 (b)->trajectory_trace) = 0; }