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

Reply via email to