From 86dbefdda6d875c6c547f316ceb1f34bb01e1ed9 Mon Sep 17 00:00:00 2001 From: Ziye Yang Date: Thu, 13 Dec 2018 01:39:44 +0800 Subject: [PATCH] nvmf: check the qpair->ctrlr The ctrlr may be NULL, so we need to add a check here to present segment fault. Change-Id: I6c5361cc829af065082a95df0b8cc2f8d49a6002 Signed-off-by: Ziye Yang Reviewed-on: https://review.gerrithub.io/436950 (master) Reviewed-on: https://review.gerrithub.io/437916 Tested-by: SPDK CI Jenkins Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Maciej Szwed Reviewed-by: Darek Stojaczyk --- lib/nvmf/nvmf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index af03c0064..7521d21d2 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -1042,7 +1042,7 @@ _nvmf_subsystem_disconnect_next_qpair(void *ctx) subsystem = qpair_ctx->subsystem; TAILQ_FOREACH(qpair, &group->qpairs, link) { - if (qpair->ctrlr->subsys == subsystem) { + if ((qpair->ctrlr != NULL) && (qpair->ctrlr->subsys == subsystem)) { break; } } @@ -1083,7 +1083,7 @@ spdk_nvmf_poll_group_remove_subsystem(struct spdk_nvmf_poll_group *group, sgroup->state = SPDK_NVMF_SUBSYSTEM_INACTIVE; TAILQ_FOREACH(qpair, &group->qpairs, link) { - if (qpair->ctrlr->subsys == subsystem) { + if ((qpair->ctrlr != NULL) && (qpair->ctrlr->subsys == subsystem)) { break; } }