gcc version: aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011 build error: CC mrvl_qos.o .../drivers/net/mrvl/mrvl_qos.c: In function ‘mrvl_configure_rxqs’: .../drivers/net/mrvl/mrvl_qos.c:679:17: error: ‘sprintf’ may write a terminating nul past the end of the destination [-Werror=format-overflow=] sprintf(match, "policer-%d:%d\n", priv->pp_id, priv->ppio_id); ^~~~~~~~~~~~~~~~~ .../drivers/net/mrvl/mrvl_qos.c:679:2: note: ‘sprintf’ output between 13 and 17 bytes into a destination of size 16 sprintf(match, "policer-%d:%d\n", priv->pp_id, priv->ppio_id); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixed by replacing sprintf to snprintf. Fixes: 8860fd7b70f0 ("net/mrvl: add ingress policer support") Cc: t...@semihalf.com Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> --- --- drivers/net/mrvl/mrvl_qos.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/mrvl/mrvl_qos.c b/drivers/net/mrvl/mrvl_qos.c index e9c4531fd..741d3da7a 100644 --- a/drivers/net/mrvl/mrvl_qos.c +++ b/drivers/net/mrvl/mrvl_qos.c @@ -676,7 +676,8 @@ setup_policer(struct mrvl_priv *priv, struct pp2_cls_plcr_params *params) char match[16]; int ret; - sprintf(match, "policer-%d:%d\n", priv->pp_id, priv->ppio_id); + snprintf(match, sizeof(match), "policer-%d:%d\n", + priv->pp_id, priv->ppio_id); params->match = match; ret = pp2_cls_plcr_init(params, &priv->policer); -- 2.13.6