From a7cd3a2d577f18bc44afae9797785763a1f0aeff Mon Sep 17 00:00:00 2001 From: Marcin Spiewak Date: Mon, 27 Mar 2023 13:49:10 +0000 Subject: [PATCH] lib/bdev: fixed potential dereferencing of NULL pointer Fixed issue indicated by Klocwork scan. 'desc->bdev' is assigned to 'bdev' ptr, before verification that 'desc' is not NULL Change-Id: I36e63c27b4d3220e85524133a0ec0e3521770875 Signed-off-by: Marcin Spiewak Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17350 Reviewed-by: Aleksey Marchuk Reviewed-by: Konrad Sztyber Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins --- lib/bdev/bdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index 6f0ecc89a..61f813656 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -8122,7 +8122,7 @@ spdk_bdev_module_claim_bdev_desc(struct spdk_bdev_desc *desc, enum spdk_bdev_cla struct spdk_bdev_claim_opts *_opts, struct spdk_bdev_module *module) { - struct spdk_bdev *bdev = desc->bdev; + struct spdk_bdev *bdev; struct spdk_bdev_claim_opts opts; int rc = 0; @@ -8131,6 +8131,8 @@ spdk_bdev_module_claim_bdev_desc(struct spdk_bdev_desc *desc, enum spdk_bdev_cla return -EINVAL; } + bdev = desc->bdev; + if (_opts == NULL) { spdk_bdev_claim_opts_init(&opts, sizeof(opts)); } else if (claim_opts_copy(_opts, &opts) != 0) {