hash: fix out of bounds array access
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Wed, 15 Jul 2015 12:40:41 +0000 (13:40 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 16 Jul 2015 14:47:56 +0000 (16:47 +0200)
When encountering a loop while adding a new entry,
element out of bounds of array was being unnecessarily resetted.

Fixes: 48a399119619 ("hash: replace with cuckoo hash implementation")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
lib/librte_hash/rte_cuckoo_hash.c

index 39cafb7..105ecdb 100644 (file)
@@ -446,11 +446,8 @@ make_space_bucket(const struct rte_hash *h, struct rte_hash_bucket *bkt)
                        break;
 
        /* All entries have been pushed, so entry cannot be added */
-       if (i == RTE_HASH_BUCKET_ENTRIES) {
-               /* Reset flag */
-               bkt->flag[i] = 0;
+       if (i == RTE_HASH_BUCKET_ENTRIES)
                return -ENOSPC;
-       }
 
        /* Set flag to indicate that this entry is going to be pushed */
        bkt->flag[i] = 1;