This patch fixes the following warning:
-Wformat-overflow=

Signed-off-by: Luben Tuikov <luben.tui...@amd.com>
---
 tests/amdgpu/meson.build |  1 +
 tests/amdgpu/ras_tests.c | 41 ++++++++++++++++++++++++++++------------
 2 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build
index 2a48b43f..faaf0ee6 100644
--- a/tests/amdgpu/meson.build
+++ b/tests/amdgpu/meson.build
@@ -28,6 +28,7 @@ if dep_cunit.found()
     ),
     dependencies : [dep_cunit, dep_threads],
     include_directories : [inc_root, inc_drm, 
include_directories('../../amdgpu')],
+    link_args : ['-lbsd'],
     link_with : [libdrm, libdrm_amdgpu],
     install : with_install_tests,
   )
diff --git a/tests/amdgpu/ras_tests.c b/tests/amdgpu/ras_tests.c
index 4c395382..9c206e40 100644
--- a/tests/amdgpu/ras_tests.c
+++ b/tests/amdgpu/ras_tests.c
@@ -30,6 +30,10 @@
 #include <fcntl.h>
 #include <stdio.h>
 #include "xf86drm.h"
+#include <bsd/string.h>
+#include <limits.h>
+
+#define PATH_SIZE PATH_MAX
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
 
@@ -498,7 +502,7 @@ static int get_file_contents(char *file, char *buf, int 
size);
 
 static int amdgpu_ras_lookup_id(drmDevicePtr device)
 {
-       char path[1024];
+       char path[PATH_SIZE];
        char str[128];
        drmPciBusInfo info;
        int i;
@@ -525,8 +529,8 @@ static int amdgpu_ras_lookup_id(drmDevicePtr device)
 //helpers
 
 static int test_card;
-static char sysfs_path[1024];
-static char debugfs_path[1024];
+static char sysfs_path[PATH_SIZE];
+static char debugfs_path[PATH_SIZE];
 static uint32_t ras_mask;
 static amdgpu_device_handle device_handle;
 
@@ -605,10 +609,11 @@ static int amdgpu_ras_is_feature_supported(enum 
amdgpu_ras_block block)
 
 static int amdgpu_ras_invoke(struct ras_debug_if *data)
 {
-       char path[1024];
+       char path[PATH_SIZE];
        int ret;
 
-       sprintf(path, "%s%s", get_ras_debugfs_root(), "ras_ctrl");
+       snprintf(path, sizeof(path), "%s", get_ras_debugfs_root());
+       strlcpy(path, "ras_ctrl", sizeof(path));
 
        ret = set_file_contents(path, (char *)data, sizeof(*data))
                - sizeof(*data);
@@ -619,14 +624,16 @@ static int amdgpu_ras_query_err_count(enum 
amdgpu_ras_block block,
                unsigned long *ue, unsigned long *ce)
 {
        char buf[64];
-       char name[1024];
+       char name[PATH_SIZE];
 
        *ue = *ce = 0;
 
        if (amdgpu_ras_is_feature_supported(block) <= 0)
                return -1;
 
-       sprintf(name, "%s%s%s", get_ras_sysfs_root(), ras_block_str(block), 
"_err_count");
+       snprintf(name, sizeof(name), "%s", get_ras_sysfs_root());
+       strlcpy(name, ras_block_str(block), sizeof(name));
+       strlcpy(name, "_err_count", sizeof(name));
 
        if (is_file_ok(name, O_RDONLY))
                return 0;
@@ -839,7 +846,7 @@ static void amdgpu_ras_basic_test(void)
        int i;
        int j;
        uint32_t features;
-       char path[1024];
+       char path[PATH_SIZE];
 
        ret = is_file_ok("/sys/module/amdgpu/parameters/ras_mask", O_RDONLY);
        CU_ASSERT_EQUAL(ret, 0);
@@ -851,11 +858,15 @@ static void amdgpu_ras_basic_test(void)
                                sizeof(features), &features);
                CU_ASSERT_EQUAL(ret, 0);
 
-               sprintf(path, "%s%s", get_ras_debugfs_root(), "ras_ctrl");
+               snprintf(path, sizeof(path), "%s", get_ras_debugfs_root());
+               strlcpy(path, "ras_ctrl", sizeof(path));
+
                ret = is_file_ok(path, O_WRONLY);
                CU_ASSERT_EQUAL(ret, 0);
 
-               sprintf(path, "%s%s", get_ras_sysfs_root(), "features");
+               snprintf(path, sizeof(path), "%s", get_ras_sysfs_root());
+               strlcpy(path, "features", sizeof(path));
+
                ret = is_file_ok(path, O_RDONLY);
                CU_ASSERT_EQUAL(ret, 0);
 
@@ -867,11 +878,17 @@ static void amdgpu_ras_basic_test(void)
                        if (!((1 << j) & ras_block_mask_basic))
                                continue;
 
-                       sprintf(path, "%s%s%s", get_ras_sysfs_root(), 
ras_block_str(j), "_err_count");
+                       snprintf(path, sizeof(path), "%s", 
get_ras_sysfs_root());
+                       strlcpy(path, ras_block_str(j), sizeof(path));
+                       strlcpy(path, "_err_count", sizeof(path));
+
                        ret = is_file_ok(path, O_RDONLY);
                        CU_ASSERT_EQUAL(ret, 0);
 
-                       sprintf(path, "%s%s%s", get_ras_debugfs_root(), 
ras_block_str(j), "_err_inject");
+                       snprintf(path, sizeof(path), "%s", 
get_ras_debugfs_root());
+                       strlcpy(path, ras_block_str(j), sizeof(path));
+                       strlcpy(path, "_err_inject", sizeof(path));
+
                        ret = is_file_ok(path, O_WRONLY);
                        CU_ASSERT_EQUAL(ret, 0);
                }
-- 
2.24.0.155.gd9f6f3b619

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to