17/05/2021 17:57, Ferruh Yigit:
> 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: [email protected]
>
> Signed-off-by: Ferruh Yigit <[email protected]>
> ---
> Cc: [email protected]
> Cc: Kevin Traynor <[email protected]>
>
> Not exactly clear why compiler complains about, compiler can't know the
> bounds of the memory we try to memset here.
> But adding a size check seems logic thing to do also fixes the compiler
> warning.
Applied, thanks