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.