Commit 38ab6675 authored by Marcin Spiewak's avatar Marcin Spiewak Committed by Tomasz Zawadzki
Browse files

lib/ftl: fixed dereference before null check



Fixed issue detected by Coverity.
cpkt pointer was dereferenced (access to ckpt->pages_per_xfer)
before it was checked if it is not NULL.

Change-Id: I56da5db80b485af94d1c8ae1f9e9b26d11ee04e3
Signed-off-by: default avatarMarcin Spiewak <marcin.spiewak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23242


Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent 6c2f09c2
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -233,12 +233,14 @@ ftl_p2l_validate_ckpt(struct ftl_band *band)
{
	struct ftl_p2l_ckpt *ckpt = band->p2l_map.p2l_ckpt;
	uint64_t num_blks_tail_md = ftl_tail_md_num_blocks(band->dev);
	uint64_t num_pages_tail_md = num_blks_tail_md / band->dev->xfer_size * ckpt->pages_per_xfer;
	uint64_t num_pages_tail_md;

	if (!ckpt) {
		return;
	}

	num_pages_tail_md = num_blks_tail_md / band->dev->xfer_size * ckpt->pages_per_xfer;

	assert(num_blks_tail_md % band->dev->xfer_size == 0);

	/* all data pages written */