From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <andy@warmcat.com>
Received: from mail.warmcat.com (mail.warmcat.com [163.172.24.82])
 by dpdk.org (Postfix) with ESMTP id 7B7521CAEA
 for <dev@dpdk.org>; Tue, 15 May 2018 01:05:03 +0200 (CEST)
To: Ferruh Yigit <ferruh.yigit@intel.com>, dev@dpdk.org
References: <152627394448.52758.15834703911138407294.stgit@localhost.localdomain>
 <152627404220.52758.3218252976578778714.stgit@localhost.localdomain>
 <e4d6e9b6-005e-8181-e98d-72241e2fe4b6@intel.com>
 <54a66d0f-9e28-ff43-18a7-42988045cc92@intel.com>
From: Andy Green <andy@warmcat.com>
Message-ID: <eb8e8934-07f0-c3e5-d34a-933b22d22242@warmcat.com>
Date: Tue, 15 May 2018 07:04:50 +0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.7.0
In-Reply-To: <54a66d0f-9e28-ff43-18a7-42988045cc92@intel.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Subject: Re: [dpdk-dev] [PATCH v6 10/16] net/qede: solve broken strncpy
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 14 May 2018 23:05:03 -0000



On 05/15/2018 05:14 AM, Ferruh Yigit wrote:
> 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 <andy@warmcat.com>
>>> 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 <limits.h>
>>>   #include <time.h>
>>>   #include <rte_alarm.h>
>>> +#include <rte_string_fns.h>
>>>   
>>>   #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?

Yeah... it's a leftover.

> Will remove this line while applying, with the change:
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Thanks.

-Andy

>>
>>>   		rc = ecore_mcp_send_drv_version(hwfn, hwfn->p_main_ptt,
>>>   						&drv_version);
>>>   		if (rc) {
>>>
>>
>