From: Bill Wendling <[email protected]>

bfa_fcs_fabric_nsymb_init() constructs the node symbolic name using
strscpy() followed by five strlcat() calls and explicit NUL-termination.

In preparation for removing the deprecated strlcat() API[1], replace the
chained string copies with a single snprintf() call.

Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: [email protected]
Assisted-by: LLM
Signed-off-by: Bill Wendling <[email protected]>
Signed-off-by: Mariia Nikitash <[email protected]>
---
 drivers/scsi/bfa/bfa_fcs.c | 31 +++++++------------------------
 1 file changed, 7 insertions(+), 24 deletions(-)

diff --git a/drivers/scsi/bfa/bfa_fcs.c b/drivers/scsi/bfa/bfa_fcs.c
index 9b57312f43f5..7a4e0e8c7182 100644
--- a/drivers/scsi/bfa/bfa_fcs.c
+++ b/drivers/scsi/bfa/bfa_fcs.c
@@ -821,30 +821,13 @@ bfa_fcs_fabric_nsymb_init(struct bfa_fcs_fabric_s *fabric)
 
        bfa_ioc_get_adapter_model(&fabric->fcs->bfa->ioc, model);
 
-       /* Model name/number */
-       strscpy(port_cfg->node_sym_name.symname, model,
-               BFA_SYMNAME_MAXLEN);
-       strlcat(port_cfg->node_sym_name.symname,
-                       BFA_FCS_PORT_SYMBNAME_SEPARATOR,
-                       BFA_SYMNAME_MAXLEN);
-
-       /* Driver Version */
-       strlcat(port_cfg->node_sym_name.symname, (char *)driver_info->version,
-               BFA_SYMNAME_MAXLEN);
-       strlcat(port_cfg->node_sym_name.symname,
-                       BFA_FCS_PORT_SYMBNAME_SEPARATOR,
-                       BFA_SYMNAME_MAXLEN);
-
-       /* Host machine name */
-       strlcat(port_cfg->node_sym_name.symname,
-               driver_info->host_machine_name,
-               BFA_SYMNAME_MAXLEN);
-       strlcat(port_cfg->node_sym_name.symname,
-                       BFA_FCS_PORT_SYMBNAME_SEPARATOR,
-                       BFA_SYMNAME_MAXLEN);
-
-       /* null terminate */
-       port_cfg->node_sym_name.symname[BFA_SYMNAME_MAXLEN - 1] = 0;
+       /* Model name/number, Driver Version, Host machine name */
+       snprintf(port_cfg->node_sym_name.symname, BFA_SYMNAME_MAXLEN,
+                "%s" BFA_FCS_PORT_SYMBNAME_SEPARATOR
+                "%s" BFA_FCS_PORT_SYMBNAME_SEPARATOR
+                "%s" BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+                model, (char *)driver_info->version,
+                driver_info->host_machine_name);
 }
 
 /*
-- 
2.43.0


Reply via email to