From: Yunjian Wang <wangyunj...@huawei.com>

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")
Cc: sta...@dpdk.org

Signed-off-by: Yunjian Wang <wangyunj...@huawei.com>
---
 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.23.0

Reply via email to