X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fnat%2Fnat_api.c;h=5c6d957a7089349f905d35d90d02b11f0bd14c43;hb=dd1e3e780;hp=fce557fa8bf72f4d91b60cff08a5a70a6768b831;hpb=bed1421b9f1b3643d93384084972337b596aec73;p=vpp.git diff --git a/src/plugins/nat/nat_api.c b/src/plugins/nat/nat_api.c index fce557fa8bf..5c6d957a708 100644 --- a/src/plugins/nat/nat_api.c +++ b/src/plugins/nat/nat_api.c @@ -201,16 +201,20 @@ send_nat_worker_details (u32 worker_index, vl_api_registration_t * reg, snat_main_t *sm = &snat_main; vlib_worker_thread_t *w = vlib_worker_threads + worker_index + sm->first_worker_index; + u32 len = vec_len (w->name); - rmp = vl_msg_api_alloc (sizeof (*rmp) + ARRAY_LEN (w->name) - 1); - clib_memset (rmp, 0, sizeof (*rmp) + ARRAY_LEN (w->name) - 1); + if (len) + --len; + + rmp = vl_msg_api_alloc (sizeof (*rmp) + len); + clib_memset (rmp, 0, sizeof (*rmp) + len); rmp->_vl_msg_id = ntohs (VL_API_NAT_WORKER_DETAILS + sm->msg_id_base); rmp->context = context; rmp->worker_index = htonl (worker_index); rmp->lcore_id = htonl (w->cpu_id); - vl_api_to_api_string (ARRAY_LEN (w->name) - 1, (char *) w->name, - &rmp->name); + if (len) + vl_api_to_api_string (len, (char *) w->name, &rmp->name); vl_api_send_msg (reg, (u8 *) rmp); }