pdump: fix string overflow
authorReshma Pattan <reshma.pattan@intel.com>
Fri, 24 Jun 2016 16:36:21 +0000 (17:36 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 27 Jun 2016 14:50:17 +0000 (16:50 +0200)
replaced strncpy with snprintf for safely
copying the strings.

Coverity issue: 127350

Fixes: 278f945402c5 ("pdump: add new library for packet capture")

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
lib/librte_pdump/rte_pdump.c

index e3b03a6..ee566cb 100644 (file)
@@ -810,13 +810,15 @@ pdump_prepare_client_request(char *device, uint16_t queue,
        req.flags = flags;
        req.op =  operation;
        if ((operation & ENABLE) != 0) {
-               strncpy(req.data.en_v1.device, device, strlen(device));
+               snprintf(req.data.en_v1.device, sizeof(req.data.en_v1.device),
+                               "%s", device);
                req.data.en_v1.queue = queue;
                req.data.en_v1.ring = ring;
                req.data.en_v1.mp = mp;
                req.data.en_v1.filter = filter;
        } else {
-               strncpy(req.data.dis_v1.device, device, strlen(device));
+               snprintf(req.data.dis_v1.device, sizeof(req.data.dis_v1.device),
+                               "%s", device);
                req.data.dis_v1.queue = queue;
                req.data.dis_v1.ring = NULL;
                req.data.dis_v1.mp = NULL;