From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v6 10/16] net/qede: solve broken strncpy Date: Mon, 14 May 2018 22:14:54 +0100 Message-ID: <54a66d0f-9e28-ff43-18a7-42988045cc92@intel.com> References: <152627394448.52758.15834703911138407294.stgit@localhost.localdomain> <152627404220.52758.3218252976578778714.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit To: Andy Green , dev@dpdk.org Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 4FB081CC0A for ; Mon, 14 May 2018 23:14:56 +0200 (CEST) In-Reply-To: Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 5/14/2018 9:20 PM, Ferruh Yigit wrote: > On 5/14/2018 6:00 AM, Andy Green wrote: >> /home/agreen/projects/dpdk/drivers/net/qede/qede_main.c: In function >> ‘qed_slowpath_start’: >> /home/agreen/projects/dpdk/drivers/net/qede/qede_main.c:307:3: >> error: ‘strncpy’ output may be truncated copying 12 bytes from a >> string of length 127 [-Werror=stringop-truncation] >> strncpy((char *)drv_version.name, (const char *)params->name, >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> MCP_DRV_VER_STR_SIZE - 4); >> ~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> Signed-off-by: Andy Green >> Fixes: 86a2265e59d7 ("qede: add SRIOV support") >> Cc: stable@dpdk.org >> --- >> drivers/net/qede/qede_main.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c >> index 2333ca073..fcfc32d0d 100644 >> --- a/drivers/net/qede/qede_main.c >> +++ b/drivers/net/qede/qede_main.c >> @@ -9,6 +9,7 @@ >> #include >> #include >> #include >> +#include >> >> #include "qede_ethdev.h" >> >> @@ -303,9 +304,9 @@ static int qed_slowpath_start(struct ecore_dev *edev, >> drv_version.version = (params->drv_major << 24) | >> (params->drv_minor << 16) | >> (params->drv_rev << 8) | (params->drv_eng); >> - /* TBD: strlcpy() */ >> - strncpy((char *)drv_version.name, (const char *)params->name, >> - MCP_DRV_VER_STR_SIZE - 4); >> + strlcpy((char *)drv_version.name, (const char *)params->name, >> + sizeof(drv_version.name)); >> + drv_version.name[sizeof(drv_version.name) - 1] = '\0'; > > Why set '\0'? doesn't strlcpy assures it? Will remove this line while applying, with the change: Reviewed-by: Ferruh Yigit > >> rc = ecore_mcp_send_drv_version(hwfn, hwfn->p_main_ptt, >> &drv_version); >> if (rc) { >> >