test/table: fix build with GCC 11
authorFerruh Yigit <ferruh.yigit@intel.com>
Mon, 17 May 2021 15:57:39 +0000 (16:57 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 18 May 2021 08:52:45 +0000 (10:52 +0200)
commit33c12ac5ba5f09727c6de807e71403dd260a7bbc
tree9d4401e55ee383c1cf2d22cdfbd138ad945e9c0a
parent7989b7e7da9be588563c809264c9347a35319969
test/table: fix build with GCC 11

Build error:
../app/test/test_table_tables.c: In function ‘test_table_stub’:
../app/test/test_table_tables.c:31:9:
warning: ‘memset’ offset [0, 31] is out of the bounds [0, 0]
[-Warray-bounds]
         memset((uint8_t *)mbuf + sizeof(struct rte_mbuf) + 32, 0, 32); \
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../app/test/test_table_tables.c:151:25:
note: in expansion of macro ‘PREPARE_PACKET’
  151 |                         PREPARE_PACKET(mbufs[i], 0xadadadad);
      |                         ^~~~~~~~~~~~~~

'key' points to mbuf header + 32 bytes, and memset clears next 32 bytes
of 'key', so overall there needs to be 64 bytes after mbuf header.
Adding a mbuf size check before memset.

The original code has an assumption that mbuf data buffer follows mbuf
header, this patch accepts same assumption.

Bugzilla ID: 677
Fixes: 5205954791cb ("app/test: packet framework unit tests")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
app/test/test_table_tables.c