From 5e9cea267e4ea88bc52200cb9c8c0302e412d612 Mon Sep 17 00:00:00 2001 From: yidong0635 Date: Fri, 20 Sep 2019 05:05:26 -0400 Subject: [PATCH] rdma: Fix scanbuild warning for gcc9+. This issue can be reproduced on fedora30. Add assert here is enough to fix this kind of warning. Error log: rdma.c:3070:20: warning: Access to field 'data_buf_pool' results in a dereference of a null pointer (loaded from field 'transport') spdk_mempool_put(group->transport->data_buf_pool, buf); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. This is to fix issue #965. Change-Id: Ifb742ab914ee9a0381dca0bb769ba8aa564c816f Signed-off-by: yidong0635 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/468908 Tested-by: SPDK CI Jenkins Community-CI: Broadcom SPDK FC-NVMe CI Reviewed-by: Seth Howell Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/nvmf/rdma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index ad968472b..1a5cfc5a4 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -3258,6 +3258,7 @@ spdk_nvmf_rdma_poll_group_destroy(struct spdk_nvmf_transport_poll_group *group) /* free all retired buffers back to the transport so we don't short the mempool. */ STAILQ_FOREACH_SAFE(buf, &rgroup->retired_bufs, link, tmp_buf) { STAILQ_REMOVE(&rgroup->retired_bufs, buf, spdk_nvmf_transport_pg_cache_buf, link); + assert(group->transport != NULL); spdk_mempool_put(group->transport->data_buf_pool, buf); }