[ovs-dev] [PATCH 2/2] netdev-dpdk: fix snprintf call

Aaron Conole aconole at redhat.com
Wed Jun 13 19:43:04 UTC 2018


lib/netdev-dpdk.c: In function :
lib/netdev-dpdk.c:2865:49: warning:  output may be truncated before the last format character [-Wformat-truncation=]
        snprintf(vhost_vring, 16, "vring_%d_size", i);
                                                ^
lib/netdev-dpdk.c:2865:9: note:  output between 13 and 17 bytes into a destination of size 16
        snprintf(vhost_vring, 16, "vring_%d_size", i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Since vring_num is 16 bits, the largest value ever would only be 17 bytes,
including the terminating nul.  Stretch it to 18 bytes (as a precaution
against a signed value, which again would never happen).

Signed-off-by: Aaron Conole <aconole at redhat.com>
---
 lib/netdev-dpdk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 2e2f568b8..e75943bb2 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -2859,7 +2859,7 @@ netdev_dpdk_vhost_user_get_status(const struct netdev *netdev,
 
     for (int i = 0; i < vring_num; i++) {
         struct rte_vhost_vring vring;
-        char vhost_vring[16];
+        char vhost_vring[18];
 
         rte_vhost_get_vhost_vring(vid, i, &vring);
         snprintf(vhost_vring, 16, "vring_%d_size", i);
-- 
2.14.3



More information about the dev mailing list