mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-21 12:41:26 +00:00
qla2xxx: Fix a NULL pointer dereference in an error path
[ commit 17c5f65db629a3bd95ac8eb960940b6fbb39a310 upstream ] git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8975 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -5170,7 +5170,7 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
|
||||
rval = qla2x00_get_id_list(vha, ha->gid_list, ha->gid_list_dma,
|
||||
&entries);
|
||||
if (rval != QLA_SUCCESS)
|
||||
goto cleanup_allocation;
|
||||
goto err;
|
||||
|
||||
ql_dbg(ql_dbg_disc, vha, 0x2011,
|
||||
"Entries in ID list (%d).\n", entries);
|
||||
@@ -5200,7 +5200,7 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
|
||||
ql_log(ql_log_warn, vha, 0x2012,
|
||||
"Memory allocation failed for fcport.\n");
|
||||
rval = QLA_MEMORY_ALLOC_FAILED;
|
||||
goto cleanup_allocation;
|
||||
goto err;
|
||||
}
|
||||
new_fcport->flags &= ~FCF_FABRIC_DEVICE;
|
||||
|
||||
@@ -5290,7 +5290,7 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
|
||||
ql_log(ql_log_warn, vha, 0xd031,
|
||||
"Failed to allocate memory for fcport.\n");
|
||||
rval = QLA_MEMORY_ALLOC_FAILED;
|
||||
goto cleanup_allocation;
|
||||
goto err;
|
||||
}
|
||||
spin_lock_irqsave(&vha->hw->tgt.sess_lock, flags);
|
||||
new_fcport->flags &= ~FCF_FABRIC_DEVICE;
|
||||
@@ -5333,15 +5333,14 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
|
||||
qla24xx_fcport_handle_login(vha, fcport);
|
||||
}
|
||||
|
||||
cleanup_allocation:
|
||||
qla2x00_free_fcport(new_fcport);
|
||||
|
||||
if (rval != QLA_SUCCESS) {
|
||||
ql_dbg(ql_dbg_disc, vha, 0x2098,
|
||||
"Configure local loop error exit: rval=%x.\n", rval);
|
||||
}
|
||||
return rval;
|
||||
|
||||
return (rval);
|
||||
err:
|
||||
ql_dbg(ql_dbg_disc, vha, 0x2098,
|
||||
"Configure local loop error exit: rval=%x.\n", rval);
|
||||
return rval;
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user