rdma: fix non-NULL terminated C-string overflow 35/22435/2
authorBenoît Ganne <bganne@cisco.com>
Mon, 30 Sep 2019 14:43:25 +0000 (16:43 +0200)
committerDave Barach <openvpp@barachs.net>
Tue, 1 Oct 2019 11:43:20 +0000 (11:43 +0000)
Type: fix

Change-Id: I584777825636347c116bd084e348858bcb1b7d75
Signed-off-by: Benoît Ganne <bganne@cisco.com>
src/plugins/rdma/device.c
src/plugins/rdma/format.c

index 532f4f5..cb88849 100644 (file)
@@ -324,7 +324,7 @@ rdma_async_event_init (rdma_device_t * rd)
   t.file_descriptor = rd->ctx->async_fd;
   t.error_function = rdma_async_event_error_ready;
   t.private_data = rd->dev_instance;
-  t.description = format (0, "%s async event", rd->name);
+  t.description = format (0, "%v async event", rd->name);
 
   rd->async_event_clib_file_index = clib_file_add (&file_main, &t);
   return 0;
index 798b21d..7a97339 100644 (file)
@@ -30,7 +30,7 @@ format_rdma_device_name (u8 * s, va_list * args)
   rdma_device_t *rd = vec_elt_at_index (rm->devices, i);
 
   if (rd->name)
-    return format (s, "%s", rd->name);
+    return format (s, "%v", rd->name);
 
   s = format (s, "rdma-%u", rd->dev_instance);
   return s;
@@ -59,7 +59,7 @@ format_rdma_device (u8 * s, va_list * args)
   rdma_device_t *rd = vec_elt_at_index (rm->devices, i);
   u32 indent = format_get_indent (s);
 
-  s = format (s, "netdev: %s\n", rd->linux_ifname);
+  s = format (s, "netdev: %v\n", rd->linux_ifname);
   s = format (s, "%Uflags: %U", format_white_space, indent,
              format_rdma_device_flags, rd);
   if (rd->error)