[PATCH 1/1] bfa: Fixes for 0-terminated strncpy and possible null pointer dereference

From: Jakob Normark
Date: Wed May 15 2013 - 15:42:22 EST


This patch fixes two cppcheck errors in drivers/scsi/bfa/bfad_im.c
Kernel version: v3.10-rc1

Signed-off-by: Jakob Normark <jakobnormark@xxxxxxxxx>
---
drivers/scsi/bfa/bfad_im.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c
index 5864f98..9489c56 100644
--- a/drivers/scsi/bfa/bfad_im.c
+++ b/drivers/scsi/bfa/bfad_im.c
@@ -944,13 +944,15 @@ static int
bfad_im_slave_alloc(struct scsi_device *sdev)
{
struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
- struct bfad_itnim_data_s *itnim_data =
- (struct bfad_itnim_data_s *) rport->dd_data;
- struct bfa_s *bfa = itnim_data->itnim->bfa_itnim->bfa;
+ struct bfad_itnim_data_s *itnim_data;
+ struct bfa_s *bfa;

if (!rport || fc_remote_port_chkready(rport))
return -ENXIO;

+ itnim_data = (struct bfad_itnim_data_s *) rport->dd_data;
+ bfa = itnim_data->itnim->bfa_itnim->bfa;
+
if (bfa_get_lun_mask_status(bfa) == BFA_LUNMASK_ENABLED) {
/*
* We should not mask LUN 0 - since this will translate
@@ -1037,6 +1039,7 @@ bfad_fc_host_init(struct bfad_im_port_s *im_port)

strncpy(symname, bfad->bfa_fcs.fabric.bport.port_cfg.sym_name.symname,
BFA_SYMNAME_MAXLEN);
+ symname[BFA_SYMNAME_MAXLEN - 1] = '\0';
sprintf(fc_host_symbolic_name(host), "%s", symname);

fc_host_supported_speeds(host) = bfad_im_supported_speeds(&bfad->bfa);
--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/