nvme: handle NULL ioq array in nvme_ctrlr_destruct()
Fix a potential segmentation fault issue. Change-Id: I39d2cd1850265ca0dfa987995011563cadeb5bb5 Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
This commit is contained in:
parent
55d9ff6a66
commit
db3fda2e68
@ -397,8 +397,10 @@ nvme_ctrlr_fail(struct spdk_nvme_ctrlr *ctrlr)
|
||||
|
||||
ctrlr->is_failed = true;
|
||||
nvme_qpair_fail(&ctrlr->adminq);
|
||||
for (i = 0; i < ctrlr->opts.num_io_queues; i++) {
|
||||
nvme_qpair_fail(&ctrlr->ioq[i]);
|
||||
if (ctrlr->ioq) {
|
||||
for (i = 0; i < ctrlr->opts.num_io_queues; i++) {
|
||||
nvme_qpair_fail(&ctrlr->ioq[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1029,9 +1031,10 @@ nvme_ctrlr_destruct(struct spdk_nvme_ctrlr *ctrlr)
|
||||
nvme_ctrlr_shutdown(ctrlr);
|
||||
|
||||
nvme_ctrlr_destruct_namespaces(ctrlr);
|
||||
|
||||
for (i = 0; i < ctrlr->opts.num_io_queues; i++) {
|
||||
nvme_qpair_destroy(&ctrlr->ioq[i]);
|
||||
if (ctrlr->ioq) {
|
||||
for (i = 0; i < ctrlr->opts.num_io_queues; i++) {
|
||||
nvme_qpair_destroy(&ctrlr->ioq[i]);
|
||||
}
|
||||
}
|
||||
|
||||
free(ctrlr->ioq);
|
||||
|
Loading…
x
Reference in New Issue
Block a user