diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2019-02-22 05:09:29 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-23 22:44:58 +0100 |
commit | abdf47aab4123ece48877cab4153db44fe4dc340 (patch) | |
tree | 54027dd887f60aacb75a3f4451c0acd00f9306d8 /drivers/net/veth.c | |
parent | e1000e: Fix -Wformat-truncation warnings (diff) | |
download | linux-abdf47aab4123ece48877cab4153db44fe4dc340.tar.xz linux-abdf47aab4123ece48877cab4153db44fe4dc340.zip |
veth: Fix -Wformat-truncation
Provide a precision hint to snprintf() in order to eliminate a
-Wformat-truncation warning provided below. A maximum of 11 characters
is allowed to reach a maximum of 32 - 1 characters given a possible
maximum value of queues using up to UINT_MAX which occupies 10
characters. Incidentally 11 is the number of characters for
"xdp_packets" which is the largest string we append.
drivers/net/veth.c: In function 'veth_get_strings':
drivers/net/veth.c:118:47: warning: '%s' directive output may be
truncated writing up to 31 bytes into a region of size between 12 and 21
[-Wformat-truncation=]
snprintf(p, ETH_GSTRING_LEN, "rx_queue_%u_%s",
^~
drivers/net/veth.c:118:5: note: 'snprintf' output between 12 and 52
bytes into a destination of size 32
snprintf(p, ETH_GSTRING_LEN, "rx_queue_%u_%s",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i, veth_rq_stats_desc[j].desc);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/veth.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/veth.c b/drivers/net/veth.c index fbf890ebbeae..569e87a51a33 100644 --- a/drivers/net/veth.c +++ b/drivers/net/veth.c @@ -115,7 +115,8 @@ static void veth_get_strings(struct net_device *dev, u32 stringset, u8 *buf) p += sizeof(ethtool_stats_keys); for (i = 0; i < dev->real_num_rx_queues; i++) { for (j = 0; j < VETH_RQ_STATS_LEN; j++) { - snprintf(p, ETH_GSTRING_LEN, "rx_queue_%u_%s", + snprintf(p, ETH_GSTRING_LEN, + "rx_queue_%u_%.11s", i, veth_rq_stats_desc[j].desc); p += ETH_GSTRING_LEN; } |