net/i40e: fix unsecure usage of strncpy function
authorKirill Rybalchenko <kirill.rybalchenko@intel.com>
Tue, 24 Oct 2017 09:22:38 +0000 (10:22 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 26 Oct 2017 00:33:01 +0000 (02:33 +0200)
Use more secure snprintf function instead of strncpy
to prevent memory access violation.

Fixes: 40d1324423a4 ("net/i40e: get ddp profile protocol info")

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
drivers/net/i40e/rte_pmd_i40e.c

index a4c6761..37da5cd 100644 (file)
@@ -1927,8 +1927,8 @@ int rte_pmd_i40e_get_ddp_info(uint8_t *pkg_buff, uint32_t pkg_size,
                tlv = (struct i40e_profile_tlv_section_record *)&proto[1];
                for (i = j = 0; i < nb_rec; j++) {
                        pinfo[j].proto_id = tlv->data[0];
-                       strncpy(pinfo[j].name, (const char *)&tlv->data[1],
-                               I40E_DDP_NAME_SIZE);
+                       snprintf(pinfo[j].name, I40E_DDP_NAME_SIZE, "%s",
+                                (const char *)&tlv->data[1]);
                        i += tlv->len;
                        tlv = &tlv[tlv->len];
                }