[dpdk-dev] [PATCH] examples/ip_pipeline: fix buffer not null terminated

Reshma Pattan reshma.pattan at intel.com
Wed Apr 18 18:58:08 CEST 2018


Copying source string of length equal to sizeof(kni->name)
will not append the NULL to destination string.

Using strlcpy in place of strncpy fixes this issue as
strlcpy guarantees NULL termination.

Coverity issue: 272562
Fixes: 9a408cc8ac ("examples/ip_pipeline: add KNI object")
CC: jasvinder.singh at intel.com

Signed-off-by: Reshma Pattan <reshma.pattan at intel.com>
---
 examples/ip_pipeline/kni.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/examples/ip_pipeline/kni.c b/examples/ip_pipeline/kni.c
index ed5f8942e..7e5ff0543 100644
--- a/examples/ip_pipeline/kni.c
+++ b/examples/ip_pipeline/kni.c
@@ -7,6 +7,7 @@
 
 #include <rte_ethdev.h>
 #include <rte_bus_pci.h>
+#include <rte_string_fns.h>
 
 #include "kni.h"
 #include "mempool.h"
@@ -153,7 +154,7 @@ kni_create(const char *name, struct kni_params *params)
 		return NULL;
 
 	/* Node fill in */
-	strncpy(kni->name, name, sizeof(kni->name));
+	strlcpy(kni->name, name, sizeof(kni->name));
 	kni->k = k;
 
 	/* Node add to list */
-- 
2.14.3



More information about the dev mailing list