api: improve api string safety
[vpp.git] / src / plugins / memif / memif_test.c
index d2ab7e0..1ec6703 100644 (file)
@@ -112,9 +112,7 @@ api_memif_socket_filename_add_del (vat_main_t * vam)
   mp->is_add = is_add;
   mp->socket_id = htonl (socket_id);
   char *p = (char *) &mp->socket_filename;
-  p +=
-    vl_api_to_api_string (strlen ((char *) socket_filename),
-                         (char *) socket_filename, (vl_api_string_t *) p);
+  p += vl_api_vec_to_api_string (socket_filename, (vl_api_string_t *) p);
 
   vec_free (socket_filename);
 
@@ -218,8 +216,7 @@ api_memif_create (vat_main_t * vam)
   if (secret != 0)
     {
       char *p = (char *) &mp->secret;
-      p += vl_api_to_api_string (strlen ((char *) secret), (char *) secret,
-                                (vl_api_string_t *) p);
+      p += vl_api_vec_to_api_string (secret, (vl_api_string_t *) p);
       vec_free (secret);
     }
   memcpy (mp->hw_addr, hw_addr, 6);
@@ -304,6 +301,8 @@ api_memif_dump (vat_main_t * vam)
   S (mp);
 
   /* Use a control ping for synchronization */
+  if (!mm->ping_id)
+    mm->ping_id = vl_msg_api_get_msg_index ((u8 *) (VL_API_CONTROL_PING_CRC));
   mp_ping = vl_msg_api_alloc_as_if_client (sizeof (*mp_ping));
   mp_ping->_vl_msg_id = htons (mm->ping_id);
   mp_ping->client_index = vam->my_client_index;
@@ -356,6 +355,8 @@ api_memif_socket_filename_dump (vat_main_t * vam)
   S (mp);
 
   /* Use a control ping for synchronization */
+  if (!mm->ping_id)
+    mm->ping_id = vl_msg_api_get_msg_index ((u8 *) (VL_API_CONTROL_PING_CRC));
   mp_ping = vl_msg_api_alloc_as_if_client (sizeof (*mp_ping));
   mp_ping->_vl_msg_id = htons (mm->ping_id);
   mp_ping->client_index = vam->my_client_index;