From 84009795c5235eb66d47df407ed33fddf62890b1 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Thu, 30 Aug 2018 09:02:52 -0700 Subject: [PATCH] test/unit: fix Scan-build errors in lvol tests. Fixes two null pointer dereference errors. Change-Id: I7d685fa54af60e6efd70f3686d4dc4dba338f555 Signed-off-by: Seth Howell Reviewed-on: https://review.gerrithub.io/424108 Tested-by: SPDK CI Jenkins Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/lvol/lvol.c | 1 + test/unit/lib/lvol/lvol.c/lvol_ut.c | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/lvol/lvol.c b/lib/lvol/lvol.c index db1c8ae98..2ae6b5a48 100644 --- a/lib/lvol/lvol.c +++ b/lib/lvol/lvol.c @@ -1051,6 +1051,7 @@ spdk_lvol_create(struct spdk_lvol_store *lvs, const char *name, uint64_t sz, return rc; } + assert(lvs != NULL); bs = lvs->blobstore; req = calloc(1, sizeof(*req)); diff --git a/test/unit/lib/lvol/lvol.c/lvol_ut.c b/test/unit/lib/lvol/lvol.c/lvol_ut.c index 37ec53961..0aebbe1a5 100644 --- a/test/unit/lib/lvol/lvol.c/lvol_ut.c +++ b/test/unit/lib/lvol/lvol.c/lvol_ut.c @@ -1851,6 +1851,7 @@ static void lvol_refcnt(void) { struct lvol_ut_bs_dev dev; struct spdk_lvs_opts opts; + struct spdk_lvol *lvol; int rc = 0; init_dev(&dev); @@ -1872,24 +1873,26 @@ static void lvol_refcnt(void) SPDK_CU_ASSERT_FATAL(g_lvol != NULL); CU_ASSERT(g_lvol->ref_count == 1); + lvol = g_lvol; spdk_lvol_open(g_lvol, lvol_op_with_handle_complete, NULL); - CU_ASSERT(g_lvol->ref_count == 2); + SPDK_CU_ASSERT_FATAL(g_lvol != NULL); + CU_ASSERT(lvol->ref_count == 2); /* Trying to destroy lvol while its open should fail */ - spdk_lvol_destroy(g_lvol, lvol_op_complete, NULL); + spdk_lvol_destroy(lvol, lvol_op_complete, NULL); CU_ASSERT(g_lvolerrno != 0); - spdk_lvol_close(g_lvol, lvol_op_complete, NULL); - CU_ASSERT(g_lvol->ref_count == 1); + spdk_lvol_close(lvol, lvol_op_complete, NULL); + CU_ASSERT(lvol->ref_count == 1); CU_ASSERT(g_lvolerrno == 0); - spdk_lvol_close(g_lvol, lvol_op_complete, NULL); - CU_ASSERT(g_lvol->ref_count == 0); + spdk_lvol_close(lvol, lvol_op_complete, NULL); + CU_ASSERT(lvol->ref_count == 0); CU_ASSERT(g_lvolerrno == 0); /* Try to close already closed lvol */ - spdk_lvol_close(g_lvol, lvol_op_complete, NULL); - CU_ASSERT(g_lvol->ref_count == 0); + spdk_lvol_close(lvol, lvol_op_complete, NULL); + CU_ASSERT(lvol->ref_count == 0); CU_ASSERT(g_lvolerrno != 0); g_lvserrno = -1;