ONE-14: Fix crash when re-enable Lisp 55/1255/1
authorAndrej Kozemcak <akozemca@cisco.com>
Wed, 25 May 2016 10:43:21 +0000 (12:43 +0200)
committerAndrej Kozemcak <akozemca@cisco.com>
Wed, 25 May 2016 11:34:53 +0000 (13:34 +0200)
Change-Id: Ib95338d7055dea9036eddb7dff5ca7ccbcb35639
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
vnet/vnet/lisp-cp/control.c

index b7c5dae..6a9e2ed 100644 (file)
@@ -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));
+                }
             }
         }