vat: fix static analysis warning 89/26389/3
authorDave Barach <dave@barachs.net>
Mon, 6 Apr 2020 14:19:18 +0000 (10:19 -0400)
committerFlorin Coras <florin.coras@gmail.com>
Mon, 6 Apr 2020 17:26:05 +0000 (17:26 +0000)
Type: fix
Ticket: VPP-1837

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ia46f865082dcf0cf06af99a7c958c4a5b02193ce

src/vat/json_format.h

index 154fb3d..d2fab90 100644 (file)
@@ -93,8 +93,9 @@ static_always_inline void
 vat_json_set_string_copy (vat_json_node_t * json, const u8 * str)
 {
   u8 *ns = NULL;
-  vec_validate (ns, strlen ((const char *) str));
-  strcpy ((char *) ns, (const char *) str);
+  int len = strlen ((const char *) str);
+  vec_validate (ns, len);
+  strncpy ((char *) ns, (const char *) str, len + 1);
   vec_add1 (ns, '\0');
   vat_json_set_string (json, ns);
 }