X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vnet%2Fvnet%2Flisp-cp%2Fcontrol.c;h=6a9e2ed5bb8e7383b89945114d29458f9603df9b;hb=94e34764b46a2babcaea6b309158524a7c1bb632;hp=b7c5dae908aa01632dc040364a270742fd636898;hpb=df921cc65a25f6fb71b1169db6ff004b4e45430e;p=vpp.git diff --git a/vnet/vnet/lisp-cp/control.c b/vnet/vnet/lisp-cp/control.c index b7c5dae908a..6a9e2ed5bb8 100644 --- a/vnet/vnet/lisp-cp/control.c +++ b/vnet/vnet/lisp-cp/control.c @@ -1443,7 +1443,7 @@ typedef enum typedef struct { gid_address_t dst_eid; - ip4_address_t map_resolver_ip; + ip_address_t map_resolver_ip; } lisp_cp_lookup_trace_t; u8 * @@ -1828,10 +1828,15 @@ lisp_cp_lookup (vlib_main_t * vm, vlib_node_runtime_t * node, { lisp_cp_lookup_trace_t *tr = vlib_add_trace (vm, node, p0, sizeof(*tr)); + + memset(tr, 0, sizeof(*tr)); gid_address_copy (&tr->dst_eid, &dst); - clib_memcpy (&tr->map_resolver_ip, - vec_elt_at_index(lcm->map_resolvers, 0), - sizeof(ip_address_t)); + if (vec_len(lcm->map_resolvers) > 0) + { + clib_memcpy (&tr->map_resolver_ip, + vec_elt_at_index(lcm->map_resolvers, 0), + sizeof(ip_address_t)); + } } }