From 6fd14594939df6562db0e713b8e91e69c13541a0 Mon Sep 17 00:00:00 2001 From: Mao Jiang Date: Thu, 7 Jan 2021 17:17:41 +0800 Subject: [PATCH] nvme/rdma: Fix rdma allocation return unique pointer Allocate memory with zero number or size, maybe return a unique pointer rather than NULL. Add a check before common allocation APIs. Change-Id: I83e07cab5145035e705bc32364652be90f238633 Signed-off-by: Mao Jiang Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5809 Reviewed-by: GangCao Reviewed-by: Changpeng Liu Reviewed-by: Shuhei Matsumoto Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins --- lib/nvme/nvme_rdma.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/nvme/nvme_rdma.c b/lib/nvme/nvme_rdma.c index eb457a391..24000ec13 100644 --- a/lib/nvme/nvme_rdma.c +++ b/lib/nvme/nvme_rdma.c @@ -304,6 +304,10 @@ struct nvme_rdma_qpair *nvme_rdma_poll_group_get_qpair_by_id(struct nvme_rdma_po static inline void * nvme_rdma_calloc(size_t nmemb, size_t size) { + if (!nmemb || !size) { + return NULL; + } + if (!g_nvme_hooks.get_rkey) { return calloc(nmemb, size); } else {