delete_bulk() copies metadata to pointers provided by the entries
parameter, but in the unit test, they are uninitialized, leading
to rte_table attempting to memcpy into random garbage pointers.

Memsetting pointer table to zero will prevent that from happening.

Fixes: 48f2543cf0a8 ("app/test: add bulk adding and deleting")
Cc: marcinx.ker...@intel.com
Cc: sta...@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
---
 test/test/test_table_acl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/test/test/test_table_acl.c b/test/test/test_table_acl.c
index 08c100f..6fcf4cc 100644
--- a/test/test/test_table_acl.c
+++ b/test/test/test_table_acl.c
@@ -532,6 +532,8 @@ setup_acl_pipeline(void)
                struct rte_pipeline_table_entry *table_entries[5];
                int key_found[5];
 
+               memset(table_entries, 0, sizeof(table_entries));
+
                for (n = 0; n < 5; n++) {
                        memset(&keys[n], 0, sizeof(struct 
rte_table_acl_rule_delete_params));
                        key_array[n] = &keys[n];
-- 
2.7.4

Reply via email to