From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
maxime.coquelin@redhat.com, stable@dpdk.org,
Bruce Richardson <bruce.richardson@intel.com>
Subject: [PATCH v3 2/4] examples/vdpa: fix format overflow warning
Date: Sat, 15 Nov 2025 11:36:37 -0800 [thread overview]
Message-ID: <20251115193749.101355-3-stephen@networkplumber.org> (raw)
In-Reply-To: <20251115193749.101355-1-stephen@networkplumber.org>
The ifname is limited to 128 characters, but it would allow up
to 128 characters as prefix then could overflow creating ifname.
Change to limit path prefix (iface) to 123 (128 - sizeof("1024"))
to avoid possible format overflow
../examples/vdpa/main.c:501:76: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
501 | snprintf(vports[devcnt].ifname, MAX_PATH_LEN, "%s%d",
| ^
../examples/vdpa/main.c:501:25: note: ‘snprintf’ output between 2 and 139 bytes into a destination of size 128
501 | snprintf(vports[devcnt].ifname, MAX_PATH_LEN, "%s%d",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
502 | iface, devcnt);
|
Fixes: 38f8ab0bbc8d ("vhost: make vDPA framework bus agnostic")
Cc: maxime.coquelin@redhat.com
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
examples/vdpa/main.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/examples/vdpa/main.c b/examples/vdpa/main.c
index 289db26498..7fd0e55b20 100644
--- a/examples/vdpa/main.c
+++ b/examples/vdpa/main.c
@@ -22,6 +22,8 @@
#define MAX_PATH_LEN 128
#define MAX_VDPA_SAMPLE_PORTS 1024
+#define stringify(x) (#x)
+#define MAX_VDPA_STR_LEN sizeof(stringify(MAX_VDPA_SAMPLE_PORTS))
#define RTE_LOGTYPE_VDPA RTE_LOGTYPE_USER1
struct vdpa_port {
@@ -36,7 +38,7 @@ struct vdpa_port {
static struct vdpa_port vports[MAX_VDPA_SAMPLE_PORTS];
-static char iface[MAX_PATH_LEN];
+static char iface[MAX_PATH_LEN - MAX_VDPA_STR_LEN];
static int devcnt;
static int interactive;
static int client_mode;
@@ -74,9 +76,8 @@ parse_args(int argc, char **argv)
break;
/* long options */
case 0:
- if (strncmp(long_option[idx].name, "iface",
- MAX_PATH_LEN) == 0) {
- rte_strscpy(iface, optarg, MAX_PATH_LEN);
+ if (!strcmp(long_option[idx].name, "iface")) {
+ rte_strscpy(iface, optarg, sizeof(iface));
printf("iface %s\n", iface);
}
if (!strcmp(long_option[idx].name, "interactive")) {
--
2.51.0
next prev parent reply other threads:[~2025-11-15 19:38 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-10 18:19 [PATCH 0/3] examples: format truncation bugs Stephen Hemminger
2025-11-10 18:19 ` [PATCH 1/3] examples/server_node_efd: fix format overflow Stephen Hemminger
2025-11-10 18:19 ` [PATCH 2/3] examples/vdpa: fix format overflow warning Stephen Hemminger
2025-11-10 18:19 ` [PATCH 3/3] examples: re-enable format truncation warning Stephen Hemminger
2025-11-11 22:17 ` [PATCH v2 0/7] fix format-truncation warnings Stephen Hemminger
2025-11-11 22:17 ` [PATCH v2 1/7] examples/server_node_efd: fix format overflow Stephen Hemminger
2025-11-11 22:17 ` [PATCH v2 2/7] examples/vdpa: fix format overflow warning Stephen Hemminger
2025-11-14 15:59 ` Bruce Richardson
2025-11-11 22:17 ` [PATCH v2 3/7] examples/ip_reassembly: add check before formatting name Stephen Hemminger
2025-11-12 14:50 ` Konstantin Ananyev
2025-11-14 16:05 ` Bruce Richardson
2025-11-11 22:17 ` [PATCH v2 4/7] examples: re-enable format truncation warning Stephen Hemminger
2025-11-14 16:07 ` Bruce Richardson
2025-11-11 22:17 ` [PATCH v2 5/7] test: refactor file prefix arg handling Stephen Hemminger
2025-11-11 22:17 ` [PATCH v2 6/7] test: increase size of memzone name Stephen Hemminger
2025-11-14 16:07 ` Bruce Richardson
2025-11-11 22:17 ` [PATCH v2 7/7] test: re-enable format-truncation warnings Stephen Hemminger
2025-11-14 16:08 ` Bruce Richardson
2025-11-15 19:36 ` [PATCH v3 0/4] examples: fix " Stephen Hemminger
2025-11-15 19:36 ` [PATCH v3 1/4] examples/server_node_efd: fix format overflow Stephen Hemminger
2025-11-15 19:36 ` Stephen Hemminger [this message]
2025-11-15 19:36 ` [PATCH v3 3/4] examples/ip_reassembly: add check before formatting name Stephen Hemminger
2025-11-15 19:36 ` [PATCH v3 4/4] examples: enable format truncation warning Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251115193749.101355-3-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
--cc=stable@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).