From: Luo bin <luob...@huawei.com> Date: Thu, 6 Aug 2020 15:48:30 +0800
> diff --git a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c > b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c > index c6adc776f3c8..1dc948c07b94 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); > else > - strncpy(level_str, "Unknown", strlen("Unknown")); > + strncpy(level_str, "Unknown", sizeof(level_str)); > > if (level == FAULT_LEVEL_SERIOUS_FLR) { Please fix these cases consistently, either use the strlen()+1 pattern or the "sizeof(destination)" one. Probably sizeof(destination) is best.