RE: [PATCH net-next v1] hinic: fix strncpy output truncated compile warnings

From: David Laight
Date: Sat Aug 08 2020 - 08:50:36 EST


From: luobin (L)
> Sent: 08 August 2020 04:37
>
> On 2020/8/7 17:32, David Laight wrote:
> > From: Luo bin
> >> Sent: 07 August 2020 03:09
> >>
> >> fix the compile warnings of 'strncpy' output truncated before
> >> terminating nul copying N bytes from a string of the same length
> >>
> >> Signed-off-by: Luo bin <luobin9@xxxxxxxxxx>
> >> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >> ---
> >> V0~V1:
> >> - use the strlen()+1 pattern consistently
> >>
> >> drivers/net/ethernet/huawei/hinic/hinic_devlink.c | 8 ++++----
> >> 1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c
> >> b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c
> >> index c6adc776f3c8..1ec88ebf81d6 100644
> >> --- a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c
> >> +++ b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c
> >> @@ -342,9 +342,9 @@ static int chip_fault_show(struct devlink_fmsg *fmsg,
> >>
> >> level = event->event.chip.err_level;
> >> if (level < FAULT_LEVEL_MAX)
> >> - strncpy(level_str, fault_level[level], strlen(fault_level[level]));
> >> + strncpy(level_str, fault_level[level], strlen(fault_level[level]) + 1);
> >
> > Have you even considered what that code is actually doing?
> >
> > David
>
> I'm sorry that I haven't got what you mean and I haven't found any defects in that code. Can you
> explain more to me?

If you can't see it you probably shouldn't be submitting patches....

Consider what happens when the string is long.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)