* [PATCH v4 5/8] test: fix format overflow warning in ACL test
[not found] ` <20251120165713.120238-1-stephen@networkplumber.org>
@ 2025-11-20 16:55 ` Stephen Hemminger
2025-11-21 12:06 ` Burakov, Anatoly
2025-11-20 16:55 ` [PATCH v4 6/8] test: fix impossible format-truncation in cfgfiles Stephen Hemminger
1 sibling, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2025-11-20 16:55 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, stable, cristian.dumitrescu, Pablo de Lara
This test has an array of input lines, but the two dimensional
array confuses compiler length checks. Convert to an array
of pointers to fixed strings which avoids the problem.
Make both variables static since not shared with other code.
Fixes: 5205954791cb ("app/test: packet framework unit tests")
Cc: stable@dpdk.org
Cc: cristian.dumitrescu@intel.com
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
app/test/test_table_acl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test/test_table_acl.c b/app/test/test_table_acl.c
index dff9bddfb9..94edf37234 100644
--- a/app/test/test_table_acl.c
+++ b/app/test/test_table_acl.c
@@ -317,7 +317,7 @@ parse_cb_ipv4_rule_del(char *str, struct rte_table_acl_rule_delete_params *v)
* separated by ' : ', just ':'. It's a lot more readable and
* cleaner, IMO.
*/
-char lines[][128] = {
+static const char * const lines[] = {
"@0.0.0.0/0 0.0.0.0/0 0:65535 0:65535 2/0xff", /* Protocol check */
"@192.168.3.1/32 0.0.0.0/0 0:65535 0:65535 0/0", /* Src IP checl */
"@0.0.0.0/0 10.4.4.1/32 0:65535 0:65535 0/0", /* dst IP check */
@@ -325,7 +325,7 @@ char lines[][128] = {
"@0.0.0.0/0 0.0.0.0/0 0:65535 206:206 0/0", /* dst port check */
};
-char line[128];
+static char line[128];
static int
--
2.51.0
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v4 6/8] test: fix impossible format-truncation in cfgfiles
[not found] ` <20251120165713.120238-1-stephen@networkplumber.org>
2025-11-20 16:55 ` [PATCH v4 5/8] test: fix format overflow warning in ACL test Stephen Hemminger
@ 2025-11-20 16:55 ` Stephen Hemminger
2025-11-21 12:09 ` Burakov, Anatoly
1 sibling, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2025-11-20 16:55 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, stable, Cristian Dumitrescu, Bruce Richardson
Although, it is not possible on Linux (which always uses /tmp)
the compiler complains about possible snprintf() truncation.
Use existing code to make empty tmp file which puts the
OS specific code in one spot and avoids any races if
two tests are run at once.
Fixes: be22019a58c4 ("test: restore cfgfile tests")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
app/test/test_cfgfile.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/app/test/test_cfgfile.c b/app/test/test_cfgfile.c
index b189d9d7a5..eabf155404 100644
--- a/app/test/test_cfgfile.c
+++ b/app/test/test_cfgfile.c
@@ -178,12 +178,8 @@ test_cfgfile_realloc_sections(void)
ret = remove(filename);
TEST_ASSERT_SUCCESS(ret, "Failed to remove file");
- char tmp[PATH_MAX] = "/tmp/";
-#ifdef RTE_EXEC_ENV_WINDOWS
- ret = GetTempPathA(sizeof(tmp), tmp);
- TEST_ASSERT(ret > 0, "Failed to get tmp directory");
-#endif
- snprintf(filename, sizeof(filename), "%s%s", tmp, "cfg_save.ini");
+ ret = make_tmp_file(filename, "save", "");
+ TEST_ASSERT(ret == 0, "Failed to make empty tmp filename for save");
ret = rte_cfgfile_save(cfgfile, filename);
TEST_ASSERT_SUCCESS(ret, "Failed to save to %s", filename);
--
2.51.0
^ permalink raw reply [flat|nested] 4+ messages in thread