]> git.feebdaed.xyz Git - 0xmirror/dpdk.git/commit
examples/server_node_efd: fix format overflow
authorStephen Hemminger <stephen@networkplumber.org>
Thu, 20 Nov 2025 16:21:59 +0000 (08:21 -0800)
committerDavid Marchand <david.marchand@redhat.com>
Mon, 24 Nov 2025 16:15:34 +0000 (17:15 +0100)
commitc97d223fc64fc10cf8f6c6f0e7d506926e83462b
tree85be4052223c5156a7d4e2bd44687b2cc730564b
parenta61cd1c50adc43254d2027f1c828a4c188216e33
examples/server_node_efd: fix format overflow

If format-truncation is enabled, the compiler detects a string overflow
since the snprintf() is putting ethernet address and new line
in buffer only sized for the address.

Since get_rx_queue_name() is used to create a ring name.
The buffer should be sized to be a valid ring name.
This fixes some format-overflow warnings and also corrects
for future errors.

In file included from ../examples/server_node_efd/efd_server/main.c:31:
In function ‘get_printable_mac_addr’,
    inlined from ‘do_stats_display’ at ../examples/server_node_efd/efd_server/main.c:136:3:
../lib/net/rte_ether.h:248:36: warning: ‘snprintf’ output truncated before the last format character [-Wformat-truncation=]
  248 | #define RTE_ETHER_ADDR_PRT_FMT     "%02X:%02X:%02X:%02X:%02X:%02X"
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../examples/server_node_efd/efd_server/main.c:86:33: note: in expansion of macro ‘RTE_ETHER_ADDR_PRT_FMT’
   86 |                                 RTE_ETHER_ADDR_PRT_FMT "\n",
      |                                 ^~~~~~~~~~~~~~~~~~~~~~
../examples/server_node_efd/efd_server/main.c: In function ‘do_stats_display’:
../examples/server_node_efd/efd_server/main.c:86:59: note: format string is defined here
   86 |                                 RTE_ETHER_ADDR_PRT_FMT "\n",
      |

Fixes: 39aad0e88c58 ("examples/flow_distributor: new example to demonstrate EFD")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
examples/server_node_efd/efd_server/main.c
examples/server_node_efd/shared/common.h