From: Zhihong Peng <zhihongx.p...@intel.com>

Code changes to avoid the following ASan error:
"strncpy specified bound XX equals destination size".

Signed-off-by: Xueqin Lin <xueqin....@intel.com>
Signed-off-by: Zhihong Peng <zhihongx.p...@intel.com>
Acked-by: Bruce Richardson <bruce.richard...@intel.com>
---
v11: Use rte_strlcpy to replace strncpy.
v12: Delete rte_strlcpy's rte_.
v13: Modify the commit log.
---
 examples/performance-thread/common/lthread.c       | 4 ++--
 examples/performance-thread/common/lthread_cond.c  | 6 +++---
 examples/performance-thread/common/lthread_mutex.c | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/examples/performance-thread/common/lthread.c 
b/examples/performance-thread/common/lthread.c
index 98123f34f8..009374a8c3 100644
--- a/examples/performance-thread/common/lthread.c
+++ b/examples/performance-thread/common/lthread.c
@@ -20,6 +20,7 @@
 #include <sys/mman.h>
 
 #include <rte_log.h>
+#include <rte_string_fns.h>
 #include <ctx.h>
 #include <stack.h>
 
@@ -465,6 +466,5 @@ void lthread_set_funcname(const char *f)
 {
        struct lthread *lt = THIS_LTHREAD;
 
-       strncpy(lt->funcname, f, sizeof(lt->funcname));
-       lt->funcname[sizeof(lt->funcname)-1] = 0;
+       strlcpy(lt->funcname, f, sizeof(lt->funcname));
 }
diff --git a/examples/performance-thread/common/lthread_cond.c 
b/examples/performance-thread/common/lthread_cond.c
index cdcc7a7b5a..e7be17089a 100644
--- a/examples/performance-thread/common/lthread_cond.c
+++ b/examples/performance-thread/common/lthread_cond.c
@@ -20,6 +20,7 @@
 
 #include <rte_log.h>
 #include <rte_common.h>
+#include <rte_string_fns.h>
 
 #include "lthread_api.h"
 #include "lthread_diag_api.h"
@@ -57,10 +58,9 @@ lthread_cond_init(char *name, struct lthread_cond **cond,
        }
 
        if (name == NULL)
-               strncpy(c->name, "no name", sizeof(c->name));
+               strlcpy(c->name, "no name", sizeof(c->name));
        else
-               strncpy(c->name, name, sizeof(c->name));
-       c->name[sizeof(c->name)-1] = 0;
+               strlcpy(c->name, name, sizeof(c->name));
 
        c->root_sched = THIS_SCHED;
 
diff --git a/examples/performance-thread/common/lthread_mutex.c 
b/examples/performance-thread/common/lthread_mutex.c
index 061fc5c19a..f3ec7c1c60 100644
--- a/examples/performance-thread/common/lthread_mutex.c
+++ b/examples/performance-thread/common/lthread_mutex.c
@@ -19,6 +19,7 @@
 #include <rte_log.h>
 #include <rte_spinlock.h>
 #include <rte_common.h>
+#include <rte_string_fns.h>
 
 #include "lthread_api.h"
 #include "lthread_int.h"
@@ -52,10 +53,9 @@ lthread_mutex_init(char *name, struct lthread_mutex **mutex,
        }
 
        if (name == NULL)
-               strncpy(m->name, "no name", sizeof(m->name));
+               strlcpy(m->name, "no name", sizeof(m->name));
        else
-               strncpy(m->name, name, sizeof(m->name));
-       m->name[sizeof(m->name)-1] = 0;
+               strlcpy(m->name, name, sizeof(m->name));
 
        m->root_sched = THIS_SCHED;
        m->owner = NULL;
-- 
2.25.1

Reply via email to