GCC-12 raises following warning: p/test/dpdk-test.p/test_ipsec.c.o -c ../app/test/test_ipsec.c In file included from ../lib/eal/x86/include/rte_atomic.h:15, from ../lib/eal/include/generic/rte_pause.h:19, from ../lib/eal/x86/include/rte_pause.h:12, from ../lib/eal/include/generic/rte_spinlock.h:25, from ../lib/eal/x86/include/rte_spinlock.h:12, from ../lib/mempool/rte_mempool.h:43, from ../lib/mbuf/rte_mbuf.h:38, from ../app/test/test_ipsec.c:9: In function '_mm_loadu_si128', inlined from 'rte_mov16' at ../lib/eal/x86/include/rte_memcpy.h:507:9, inlined from 'rte_mov128' at ../lib/eal/x86/include/rte_memcpy.h:549:2, inlined from 'rte_memcpy_generic' at ../lib/eal/x86/include/rte_memcpy.h:732:4, inlined from 'rte_memcpy' at ../lib/eal/x86/include/rte_memcpy.h:882:10, inlined from 'setup_test_string_tunneled' at ../app/test/test_ipsec.c:617:3: /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/include/emmintrin.h:703:10: error: array subscript '__m128i_u[15]' is partly outside array bounds of 'const uint8_t[255]' {aka 'const unsigned char[255]'} [-Werror=array-bounds] 703 | return *__P; | ^~~~ ../app/test/test_ipsec.c: In function 'setup_test_string_tunneled': ../app/test/test_ipsec.c:491:22: note: at offset 240 into object 'esp_pad_bytes' of size 255 491 | static const uint8_t esp_pad_bytes[IPSEC_MAX_PAD_SIZE] = {
Restrict copy to minimum size. Signed-off-by: Amit Prakash Shukla <amitpraka...@marvell.com> --- app/test/test_ipsec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c index bc2a3dbc2e..8fad093dee 100644 --- a/app/test/test_ipsec.c +++ b/app/test/test_ipsec.c @@ -614,7 +614,8 @@ setup_test_string_tunneled(struct rte_mempool *mpool, const char *string, rte_memcpy(dst, string, len); dst += len; /* copy pad bytes */ - rte_memcpy(dst, esp_pad_bytes, padlen); + rte_memcpy(dst, esp_pad_bytes, RTE_MIN(padlen, + sizeof(esp_pad_bytes))); dst += padlen; /* copy ESP tail header */ rte_memcpy(dst, &espt, sizeof(espt)); -- 2.25.1