Jani Nikula
2024-May-23 15:51 UTC
[PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()
Enabling -Wformat-truncation yields the following warning: ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c: In function ?imx_ldb_probe?: ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:57: error: ?_sel? directive output may be truncated writing 4 bytes into a region of size between 3 and 13 [-Werror=format-truncation=] 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i); | ^~~~ ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:17: note: ?snprintf? output between 8 and 18 bytes into a destination of size 16 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Silence the warning by checking the snprintf() return value. Signed-off-by: Jani Nikula <jani.nikula at intel.com> --- Cc: Philipp Zabel <p.zabel at pengutronix.de> Cc: Shawn Guo <shawnguo at kernel.org> Cc: Sascha Hauer <s.hauer at pengutronix.de> Cc: Pengutronix Kernel Team <kernel at pengutronix.de> Cc: Fabio Estevam <festevam at gmail.com> Cc: dri-devel at lists.freedesktop.org Cc: imx at lists.linux.dev --- drivers/gpu/drm/imx/ipuv3/imx-ldb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c index 71d70194fcbd..46f779fe60ee 100644 --- a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c +++ b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c @@ -654,8 +654,12 @@ static int imx_ldb_probe(struct platform_device *pdev) */ for (i = 0; i < 4; i++) { char clkname[16]; + int len; + + len = snprintf(clkname, sizeof(clkname), "di%d_sel", i); + if (len >= sizeof(clkname)) + dev_err(dev, "clkname truncated\n"); - snprintf(clkname, sizeof(clkname), "di%d_sel", i); imx_ldb->clk_sel[i] = devm_clk_get(imx_ldb->dev, clkname); if (IS_ERR(imx_ldb->clk_sel[i])) { ret = PTR_ERR(imx_ldb->clk_sel[i]); -- 2.39.2
Ville Syrjälä
2024-May-23 17:32 UTC
[PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()
On Thu, May 23, 2024 at 06:51:08PM +0300, Jani Nikula wrote:> Enabling -Wformat-truncation yields the following warning: > > ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c: In function ?imx_ldb_probe?: > ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:57: error: ?_sel? directive output may be truncated writing 4 bytes into a region of size between 3 and 13 [-Werror=format-truncation=] > 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i); > | ^~~~ > ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:17: note: ?snprintf? output between 8 and 18 bytes into a destination of size 16 > 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~If only the compiler could count to three...> > Silence the warning by checking the snprintf() return value. > > Signed-off-by: Jani Nikula <jani.nikula at intel.com> > > --- > > Cc: Philipp Zabel <p.zabel at pengutronix.de> > Cc: Shawn Guo <shawnguo at kernel.org> > Cc: Sascha Hauer <s.hauer at pengutronix.de> > Cc: Pengutronix Kernel Team <kernel at pengutronix.de> > Cc: Fabio Estevam <festevam at gmail.com> > Cc: dri-devel at lists.freedesktop.org > Cc: imx at lists.linux.dev > --- > drivers/gpu/drm/imx/ipuv3/imx-ldb.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c > index 71d70194fcbd..46f779fe60ee 100644 > --- a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c > +++ b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c > @@ -654,8 +654,12 @@ static int imx_ldb_probe(struct platform_device *pdev) > */ > for (i = 0; i < 4; i++) { > char clkname[16]; > + int len; > + > + len = snprintf(clkname, sizeof(clkname), "di%d_sel", i); > + if (len >= sizeof(clkname)) > + dev_err(dev, "clkname truncated\n"); > > - snprintf(clkname, sizeof(clkname), "di%d_sel", i); > imx_ldb->clk_sel[i] = devm_clk_get(imx_ldb->dev, clkname); > if (IS_ERR(imx_ldb->clk_sel[i])) { > ret = PTR_ERR(imx_ldb->clk_sel[i]); > -- > 2.39.2-- Ville Syrj?l? Intel
Seemingly Similar Threads
- [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()
- [PATCH 0/4] drm: enable -Wformat-truncation
- [PATCH 00/53] drm: Convert to platform remove callback returning void
- [PATCH 10/17] drm/imx: removed optional dummy encoder mode_fixup function.
- [PATCH 10/17] drm/imx: removed optional dummy encoder mode_fixup function.