From ea8aa1bf0a60bd8c52d9fee02eb2d4d4c5866568 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 Tested-by: SPDK CI Jenkins Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Maciej Szwed Reviewed-by: Changpeng Liu Reviewed-by: Ben Walker --- 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 ec97e8bd7..ac25e39cc 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -1022,7 +1022,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; } } @@ -1063,7 +1063,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; } }