[dpdk-stable] [PATCH] test/hash: fix buffer overflow
Vladimir Medvedkin
vladimir.medvedkin at intel.com
Fri Oct 8 23:28:46 CEST 2021
This patch fixes buffer overflow reported by ASAN,
please reference https://bugs.dpdk.org/show_bug.cgi?id=818
Some tests for the rte_hash table use the rte_jhash_32b() as
the hash function. This hash function interprets the length
argument in units of 4 bytes.
This patch divides configured key length by 4 in cases when
rte_jhash_32b() is used.
Bugzilla ID: 818
Fixes: af75078fece3 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>
---
app/test/test_hash.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/test/test_hash.c b/app/test/test_hash.c
index bd4d0cb..650d977 100644
--- a/app/test/test_hash.c
+++ b/app/test/test_hash.c
@@ -1617,7 +1617,8 @@ test_hash_add_delete_jhash2(void)
int32_t pos1, pos2;
hash_params_ex.name = "hash_test_jhash2";
- hash_params_ex.key_len = 4;
+ /* Set the key_len divided by 4 due to using rte_jhash_32b() */
+ hash_params_ex.key_len = 4 / sizeof(uint32_t);
hash_params_ex.hash_func = (rte_hash_function)rte_jhash_32b;
handle = rte_hash_create(&hash_params_ex);
@@ -1656,7 +1657,8 @@ test_hash_add_delete_2_jhash2(void)
int32_t pos1, pos2;
hash_params_ex.name = "hash_test_2_jhash2";
- hash_params_ex.key_len = 8;
+ /* Set the key_len divided by 4 due to using rte_jhash_32b() */
+ hash_params_ex.key_len = 8 / sizeof(uint32_t);
hash_params_ex.hash_func = (rte_hash_function)rte_jhash_32b;
handle = rte_hash_create(&hash_params_ex);
--
2.7.4
More information about the stable
mailing list