[dpdk-dev] [PATCH v2 4/4] examples/mp_server: clear string truncation warning

Nicolau, Radu radu.nicolau at intel.com
Fri Oct 9 13:21:16 CEST 2020


On 8/21/2020 6:10 PM, Bruce Richardson wrote:
> Compiling with GCC 9.3 on Ubuntu 20.04 gives a warning about possible
> string truncation when getting the RX queue name:
>
> In file included from init.c:36:
> init.c: In function ‘init’:
> ../shared/common.h:38:28: warning: ‘%u’ directive output may be truncated writing between 1 and 10 bytes into a region of size 8 [-Wformat-truncation=]
>     38 | #define MP_CLIENT_RXQ_NAME "MProc_Client_%u_RX"
>        |                            ^~~~~~~~~~~~~~~~~~~~
> ../shared/common.h:52:35: note: in expansion of macro ‘MP_CLIENT_RXQ_NAME’
>     52 |  snprintf(buffer, sizeof(buffer), MP_CLIENT_RXQ_NAME, id);
>        |                                   ^~~~~~~~~~~~~~~~~~
>
> This is a false positive, as the value of the "id" is limited to 255, being
> stored in the app as a uint8_t value, removing the possibility of the %u
> being replaced by anything other then 3 characters max (rather than up to
> 10 as thought by the compiler). Therefore, the warning can be easily
> removed by changing the type of the "id" parameter to the local function
> from "unsigned" to "uint8_t" also, ensuring the compiler is aware of the
> range limit.
>
> Cc: stable at dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
Acked-by: Radu Nicolau <radu.nicolau at intel.com>


More information about the dev mailing list