From 103bb1cc29614a3b4a901d5ef3eef47294b399dc Mon Sep 17 00:00:00 2001 From: "John W. Linville" Date: Thu, 29 Sep 2016 13:39:33 -0400 Subject: [PATCH] net/ena: improve safety of string handling Use sizeof dest rather than sizeof src for limiting copy length, and replace strncpy with snprintf to ensure NULL termination. Coverity issue: 127795 Fixes: 372c1af5ed8f ("net/ena: add dedicated memory area for extra device info") Signed-off-by: John W. Linville Acked-by: Ferruh Yigit --- drivers/net/ena/ena_ethdev.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 6efd801998..3ce26b9dd2 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -342,11 +342,13 @@ static void ena_config_host_info(struct ena_com_dev *ena_dev) host_info->os_type = ENA_ADMIN_OS_DPDK; host_info->kernel_ver = RTE_VERSION; - strncpy((char *)host_info->kernel_ver_str, rte_version(), - strlen(rte_version())); + snprintf((char *)host_info->kernel_ver_str, + sizeof(host_info->kernel_ver_str), + "%s", rte_version()); host_info->os_dist = RTE_VERSION; - strncpy((char *)host_info->os_dist_str, rte_version(), - strlen(rte_version())); + snprintf((char *)host_info->os_dist_str, + sizeof(host_info->os_dist_str), + "%s", rte_version()); host_info->driver_version = (DRV_MODULE_VER_MAJOR) | (DRV_MODULE_VER_MINOR << ENA_ADMIN_HOST_INFO_MINOR_SHIFT) | -- 2.20.1