scsi: qla2xxx: Fix a NULL pointer dereference in an error path
authorBart Van Assche <bvanassche@acm.org>
Sat, 18 Jan 2020 04:20:56 +0000 (20:20 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 20 Jan 2020 23:38:20 +0000 (18:38 -0500)
commit17c5f65db629a3bd95ac8eb960940b6fbb39a310
treeba036801fb5f0dc33574c57bdcfe061723127306
parent6ca67a8e7bed55389a0297647b6196910776971c
scsi: qla2xxx: Fix a NULL pointer dereference in an error path

This patch fixes the following Coverity complaint:

FORWARD_NULL

qla_init.c: 5275 in qla2x00_configure_local_loop()
5269
5270      if (fcport->scan_state == QLA_FCPORT_FOUND)
5271      qla24xx_fcport_handle_login(vha, fcport);
5272      }
5273
5274     cleanup_allocation:
>>>     CID 353340:    (FORWARD_NULL)
>>>     Passing null pointer "new_fcport" to "qla2x00_free_fcport", which dereferences it.
5275      qla2x00_free_fcport(new_fcport);
5276
5277      if (rval != QLA_SUCCESS) {
5278      ql_dbg(ql_dbg_disc, vha, 0x2098,
5279          "Configure local loop error exit: rval=%x.\n", rval);
5280      }
qla_init.c: 5275 in qla2x00_configure_local_loop()
5269
5270      if (fcport->scan_state == QLA_FCPORT_FOUND)
5271      qla24xx_fcport_handle_login(vha, fcport);
5272      }
5273
5274     cleanup_allocation:
>>>     CID 353340:    (FORWARD_NULL)
>>>     Passing null pointer "new_fcport" to "qla2x00_free_fcport", which dereferences it.
5275      qla2x00_free_fcport(new_fcport);
5276
5277      if (rval != QLA_SUCCESS) {
5278      ql_dbg(ql_dbg_disc, vha, 0x2098,
5279          "Configure local loop error exit: rval=%x.\n", rval);
5280      }

Fixes: 3dae220595ba ("scsi: qla2xxx: Use common routine to free fcport struct")
Cc: Himanshu Madhani <hmadhani@marvell.com>
Cc: Quinn Tran <qutran@marvell.com>
Cc: Martin Wilck <mwilck@suse.com>
Cc: Daniel Wagner <dwagner@suse.de>
Cc: Roman Bolshakov <r.bolshakov@yadro.com>
Link: https://lore.kernel.org/r/20200118042056.32232-1-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_init.c