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: [email protected]

Signed-off-by: Stephen Hemminger <[email protected]>
---
 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

Reply via email to