From 776d45b0e357b9de5182d300347a561f82333b40 Mon Sep 17 00:00:00 2001 From: Alexey Marchuk Date: Tue, 17 Mar 2020 03:50:07 -0400 Subject: [PATCH] nvme: Fix potential use of non-initialized variable trstring variable in spdk_nvme_trid_populate_transport is not initialized, that can lead to snprintf() writes some garbage to trid->trstring if the user passes SPDK_NVME_TRANSPORT_CUSTOM trtype Add return statement and assert to CUSTOM/default switch Signed-off-by: Alexey Marchuk Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/483469 (master) Community-CI: SPDK CI Jenkins (cherry picked from commit 3424def90a6797e6bc4e634e0e54aa93b33c0b82) Change-Id: I6c6c37f9aa74d61b346f7be27fb890c7a34e9229 Signed-off-by: Tomasz Zawadzki Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1318 Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker --- lib/nvme/nvme.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/nvme/nvme.c b/lib/nvme/nvme.c index d13126b59..ce2da9618 100644 --- a/lib/nvme/nvme.c +++ b/lib/nvme/nvme.c @@ -760,7 +760,8 @@ spdk_nvme_trid_populate_transport(struct spdk_nvme_transport_id *trid, case SPDK_NVME_TRANSPORT_CUSTOM: default: SPDK_ERRLOG("don't use this for custom transports\n"); - break; + assert(0); + return; } snprintf(trid->trstring, SPDK_NVMF_TRSTRING_MAX_LEN, "%s", trstring); }