- mp = vl_msg_api_alloc (sizeof (*mp));
- clib_memset (mp, 0, sizeof (*mp));
+ count = vec_len (client->domain_server_address);
+ n = sizeof (*mp) + (count * sizeof (vl_api_domain_server_t));
+ mp = vl_msg_api_alloc (n);
+ if (!mp)
+ return 0;
+ clib_memset (mp, 0, n);