From eb7fa475f7c568feb0ab1559232994504b73bb2c Mon Sep 17 00:00:00 2001 From: Yunjian Wang Date: Tue, 27 Oct 2020 20:51:25 +0800 Subject: [PATCH] hash: fix check of parameter Coverity flags that 'h' variable is used before it's checked for NULL. This patch fixes this issue. Coverity issue: 363625 Fixes: 769b2de7fb52 ("hash: implement RCU resources reclamation") Signed-off-by: Yunjian Wang Reviewed-by: Dharmik Thakkar Acked-by: Yipeng Wang --- lib/librte_hash/rte_cuckoo_hash.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/librte_hash/rte_cuckoo_hash.c b/lib/librte_hash/rte_cuckoo_hash.c index 7514e33aa9..1191dfd81a 100644 --- a/lib/librte_hash/rte_cuckoo_hash.c +++ b/lib/librte_hash/rte_cuckoo_hash.c @@ -1515,15 +1515,16 @@ rte_hash_rcu_qsbr_add(struct rte_hash *h, struct rte_hash_rcu_config *cfg) struct rte_rcu_qsbr_dq_parameters params = {0}; char rcu_dq_name[RTE_RCU_QSBR_DQ_NAMESIZE]; struct rte_hash_rcu_config *hash_rcu_cfg = NULL; - const uint32_t total_entries = h->use_local_cache ? - h->entries + (RTE_MAX_LCORE - 1) * (LCORE_CACHE_SIZE - 1) + 1 - : h->entries + 1; if (h == NULL || cfg == NULL || cfg->v == NULL) { rte_errno = EINVAL; return 1; } + const uint32_t total_entries = h->use_local_cache ? + h->entries + (RTE_MAX_LCORE - 1) * (LCORE_CACHE_SIZE - 1) + 1 + : h->entries + 1; + if (h->hash_rcu_cfg) { rte_errno = EEXIST; return 1; -- 2.20.1