From 8389b65ad4b1786a634457c171b4ae512a0901d4 Mon Sep 17 00:00:00 2001 From: Mike Gerdts Date: Thu, 18 Nov 2021 04:00:04 +0000 Subject: [PATCH] blobcli: do not read from an zero-length blob Not all blobs have data: an lvstore's super blob is a common example. Perform a size check prior to trying to dump the blob's contents. Signed-off-by: Mike Gerdts Change-Id: Ic5bc1b11cdda72a36c6a3f4b4de0fd6f1a2948c6 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11246 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Paul Luse Reviewed-by: Krzysztof Karas Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- examples/blob/cli/blobcli.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/blob/cli/blobcli.c b/examples/blob/cli/blobcli.c index 1022415c3..3ce95d0ca 100644 --- a/examples/blob/cli/blobcli.c +++ b/examples/blob/cli/blobcli.c @@ -701,6 +701,12 @@ dump_imp_open_cb(void *cb_arg, struct spdk_blob *blob, int bserrno) return; } + if (cli_context->blob->active.num_clusters == 0) { + fclose(cli_context->fp); + spdk_blob_close(cli_context->blob, close_cb, cli_context); + return; + } + /* read a io_unit of data from the blob */ spdk_blob_io_read(cli_context->blob, cli_context->channel, cli_context->buff, cli_context->io_unit_count,