[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] tools: use memcpy instead of strncpy in getBridge


  • To: Jürgen Groß <jgross@xxxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Tue, 6 Oct 2020 15:46:49 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H1ePMpoFGvhxROigwQPGp/4mYvJqM2Wup7VEwVmLkik=; b=Re+LWVBknpTHsUgHZh49cCQISpYnUtmZEP/B8G9MDA2kho8W1+rZpTbPcBtx+RhE3WOEohBzNKo9XtTVYWoEjn/OR2uMb/Cj2cdQXtrcabveWJi8Q1S+UMreZiCBJ64zcz5y1XDBmWvOaXL/NGydvhYNnEs+xcvrdrOL2HdgZgRZdQbKCYhMfoqKYK0is5344TQO4B0xgCBt7XPaXtV3fmCEn8otYVkn2HJtYRVXEqPk5S3q+EJ9cU0peiw7yUwB/xCxrDAxWLObgcybkSuMnToD7MXjgMqMqlmHcEjjOh2wye66EUwvePwYdk2Oq6U5dkQL3rN0j3yjkmWJu6FWyw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ca0AxA83QuCRR0eEAWVwNm+lPbMKENGQoJPT8JT37GZnTxaW8wU9f6ehuTfNjUzooep3sQwrEXjP11pu24DayXNX8Fi+ALi7tJ56bDiLK48JCLP5y/fRK16/CBTiZoWn8MLM8y+7o3FWcvuogvYFZVCZch7kDRI78AeV04b365wiyij2Vk6CsQYdX5IxPjQszIHtX2I3woULBAj2M/ALBfsvBG6muNarImwfhXMU9NEz+eqkBHmN9jMA7fY9X8K8ZefP2fYzfY/RqbvCtixK1rAuT9aO3rBrOK4cVeaalYm4XS4g/7Vy7LxYKKRephp6CoIOiMule8Bw/XuFbEPoWA==
  • Authentication-results-original: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
  • Cc: "open list:X86" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Tue, 06 Oct 2020 15:47:12 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHWmzF2iz7tdPrAmU+VUEf6Gggal6mJ/YIAgAA3CACAAAfxgIAAfPCA
  • Thread-topic: [PATCH 1/2] tools: use memcpy instead of strncpy in getBridge

Hi Jurgen,

> On 6 Oct 2020, at 09:19, Jürgen Groß <jgross@xxxxxxxx> wrote:
> 
> On 06.10.20 09:51, Bertrand Marquis wrote:
>>> On 6 Oct 2020, at 05:34, Jürgen Groß <jgross@xxxxxxxx> wrote:
>>> 
>>> On 05.10.20 18:02, Bertrand Marquis wrote:
>>>> Use memcpy in getBridge to prevent gcc warnings about truncated
>>>> strings. We know that we might truncate it, so the gcc warning
>>>> here is wrong.
>>>> Revert previous change changing buffer sizes as bigger buffers
>>>> are not needed.
>>>> Signed-off-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>
>>>> ---
>>>>  tools/libs/stat/xenstat_linux.c | 9 +++++++--
>>>>  1 file changed, 7 insertions(+), 2 deletions(-)
>>>> diff --git a/tools/libs/stat/xenstat_linux.c 
>>>> b/tools/libs/stat/xenstat_linux.c
>>>> index d2ee6fda64..1db35c604c 100644
>>>> --- a/tools/libs/stat/xenstat_linux.c
>>>> +++ b/tools/libs/stat/xenstat_linux.c
>>>> @@ -78,7 +78,12 @@ static void getBridge(char *excludeName, char *result, 
>>>> size_t resultLen)
>>>>                            sprintf(tmp, "/sys/class/net/%s/bridge", 
>>>> de->d_name);
>>>>                                    if (access(tmp, F_OK) == 0) {
>>>> -                                  strncpy(result, de->d_name, resultLen);
>>>> +                                  /*
>>>> +                                   * Do not use strncpy to prevent 
>>>> compiler warning with
>>>> +                                   * gcc >= 10.0
>>>> +                                   * If de->d_name is longer then 
>>>> resultLen we truncate it
>>>> +                                   */
>>>> +                                  memcpy(result, de->d_name, resultLen - 
>>>> 1);
>>> 
>>> I think you want min(NAME_MAX, resultLen - 1) for the length.
>> true, I will fix that and send a v2.
> 
> Hmm, maybe you should use
> 
> min(strnlen(de->d_name, NAME_MAX), resultLen - 1)
> 
> for the case that de->d_name is near the end of a page, as otherwise
> you could try to copy unallocated space.
> 

Agree, I will do that.

Cheers
Bertrand


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.