String type: Not include \0 in show_version
[vpp.git] / src / vpp / api / api.c
index 1f376dc..3fce77a 100644 (file)
@@ -219,7 +219,8 @@ vl_api_cli_inband_t_handler (vl_api_cli_inband_t * mp)
   u8 *out_vec = 0;
   u32 len = 0;
 
-  if (vl_msg_api_get_msg_length (mp) < vl_api_string_len (&mp->cmd))
+  if (vl_msg_api_get_msg_length (mp) <
+      vl_api_string_len (&mp->cmd) + sizeof (*mp))
     {
       rv = -1;
       goto error;
@@ -250,11 +251,10 @@ vl_api_show_version_t_handler (vl_api_show_version_t * mp)
   char *vpe_api_get_version (void);
   char *vpe_api_get_build_date (void);
 
-  u32 program_len = strnlen_s ("vpe", 32) + 1;
-  u32 version_len = strnlen_s (vpe_api_get_version (), 32) + 1;
-  u32 build_date_len = strnlen_s (vpe_api_get_build_date (), 32) + 1;
-  u32 build_directory_len =
-    strnlen_s (vpe_api_get_build_directory (), 256) + 1;
+  u32 program_len = strnlen_s ("vpe", 32);
+  u32 version_len = strnlen_s (vpe_api_get_version (), 32);
+  u32 build_date_len = strnlen_s (vpe_api_get_build_date (), 32);
+  u32 build_directory_len = strnlen_s (vpe_api_get_build_directory (), 256);
 
   u32 n = program_len + version_len + build_date_len + build_directory_len;