From 59ae518addb97300b2e734442ddc86d331c3c58e Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Mon, 16 May 2016 10:52:51 -0700 Subject: [PATCH] nvme: set qpair fields to NULL during destruct Avoid potential double free cases. This fixes a clang warning during scan-build. Change-Id: I487d6fcd485d1f8ebb96b6f8cb54511628461f39 Signed-off-by: Daniel Verkamp --- lib/nvme/nvme_qpair.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/nvme/nvme_qpair.c b/lib/nvme/nvme_qpair.c index f3752252a..8b3f1a45e 100644 --- a/lib/nvme/nvme_qpair.c +++ b/lib/nvme/nvme_qpair.c @@ -590,12 +590,18 @@ nvme_qpair_destroy(struct spdk_nvme_qpair *qpair) if (nvme_qpair_is_admin_queue(qpair)) { _nvme_admin_qpair_destroy(qpair); } - if (qpair->cmd && !qpair->sq_in_cmb) + if (qpair->cmd && !qpair->sq_in_cmb) { nvme_free(qpair->cmd); - if (qpair->cpl) + qpair->cmd = NULL; + } + if (qpair->cpl) { nvme_free(qpair->cpl); - if (qpair->tr) + qpair->cpl = NULL; + } + if (qpair->tr) { nvme_free(qpair->tr); + qpair->tr = NULL; + } } static void