$ gcc --version gcc (GCC) 11.1.1 20210428 (Red Hat 11.1.1-1) /test_cryptodev.c.o -c ../app/test/test_cryptodev.c ../app/test/test_cryptodev.c: In function ‘test_multi_session’: ../app/test/test_cryptodev.c:10447:9: error: array subscript ‘struct rte_cryptodev_sym_session *[4]’ is partly outside array bounds of ‘unsigned char[33]’ [-Werror=array-bounds] 10447 | rte_cryptodev_sym_session_init(ts_params->valid_devs[0], | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10448 | sessions[i], &ut_params->auth_xform, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10449 | ts_params->session_priv_mpool); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../app/test/test_cryptodev.c:10399:20: note: referencing an object of size 33 allocated by ‘rte_malloc’ 10399 | sessions = rte_malloc(NULL, | ^~~~~~~~~~~~~~~~ 10400 | (sizeof(struct rte_cryptodev_sym_session *) * | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10401 | MAX_NB_SESSIONS) + 1, 0); | ~~~~~~~~~~~~~~~~~~~~~~~~
Fix the allocation for sessions, to prevent an array-bounds warning with gcc 11. Set the not created session to NULL. Fixes: 202d375c60bc ("app/test: add cryptodev unit and performance tests") Cc: sta...@dpdk.org Signed-off-by: Kevin Traynor <ktray...@redhat.com> --- app/test/test_cryptodev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 32e64e2dd1..4f766e070d 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -10398,6 +10398,6 @@ test_multi_session(void) sessions = rte_malloc(NULL, - (sizeof(struct rte_cryptodev_sym_session *) * - MAX_NB_SESSIONS) + 1, 0); + sizeof(struct rte_cryptodev_sym_session *) * + (MAX_NB_SESSIONS + 1), 0); /* Create multiple crypto sessions*/ @@ -10444,4 +10444,5 @@ test_multi_session(void) } + sessions[i] = NULL; /* Next session create should fail */ rte_cryptodev_sym_session_init(ts_params->valid_devs[0], -- 2.30.2