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 <luob...@huawei.com>
Reported-by: kernel test robot <l...@intel.com>
---
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);
        else
-               strncpy(level_str, "Unknown", strlen("Unknown"));
+               strncpy(level_str, "Unknown", strlen("Unknown") + 1);
 
        if (level == FAULT_LEVEL_SERIOUS_FLR) {
                err = devlink_fmsg_u32_pair_put(fmsg, "Function level err 
func_id",
@@ -388,9 +388,9 @@ static int fault_report_show(struct devlink_fmsg *fmsg,
        int err;
 
        if (event->type < FAULT_TYPE_MAX)
-               strncpy(type_str, fault_type[event->type], 
strlen(fault_type[event->type]));
+               strncpy(type_str, fault_type[event->type], 
strlen(fault_type[event->type]) + 1);
        else
-               strncpy(type_str, "Unknown", strlen("Unknown"));
+               strncpy(type_str, "Unknown", strlen("Unknown") + 1);
 
        err = devlink_fmsg_string_pair_put(fmsg, "Fault type", type_str);
        if (err)
-- 
2.17.1

Reply via email to