diff mbox series

thunderbolt: fix -Wrestrict warning

Message ID 20210927131620.1587294-1-arnd@kernel.org
State New
Headers show
Series thunderbolt: fix -Wrestrict warning | expand

Commit Message

Arnd Bergmann Sept. 27, 2021, 1:16 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>


gcc-11 warns when building with W=1:

drivers/thunderbolt/xdomain.c: In function 'modalias_show':
drivers/thunderbolt/xdomain.c:733:16: error: 'sprintf' argument 3 overlaps destination object 'buf' [-Werror=restrict]
  733 |         return sprintf(buf, "%s\n", buf);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/thunderbolt/xdomain.c:727:36: note: destination object referenced by 'restrict'-qualified argument 1 was declared here
  727 |                              char *buf)
      |                              ~~~~~~^~~

There is no need for the sprintf() here when a strcat() does
the same thing.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/thunderbolt/xdomain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.29.2

Comments

Mika Westerberg Sept. 28, 2021, 9:32 a.m. UTC | #1
On Mon, Sep 27, 2021 at 03:16:11PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>

> 

> gcc-11 warns when building with W=1:

> 

> drivers/thunderbolt/xdomain.c: In function 'modalias_show':

> drivers/thunderbolt/xdomain.c:733:16: error: 'sprintf' argument 3 overlaps destination object 'buf' [-Werror=restrict]

>   733 |         return sprintf(buf, "%s\n", buf);

>       |                ^~~~~~~~~~~~~~~~~~~~~~~~~

> drivers/thunderbolt/xdomain.c:727:36: note: destination object referenced by 'restrict'-qualified argument 1 was declared here

>   727 |                              char *buf)

>       |                              ~~~~~~^~~

> 

> There is no need for the sprintf() here when a strcat() does

> the same thing.

> 

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Applied, thanks!
diff mbox series

Patch

diff --git a/drivers/thunderbolt/xdomain.c b/drivers/thunderbolt/xdomain.c
index d66ea4d616fd..eff32499610f 100644
--- a/drivers/thunderbolt/xdomain.c
+++ b/drivers/thunderbolt/xdomain.c
@@ -730,7 +730,7 @@  static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 
 	/* Full buffer size except new line and null termination */
 	get_modalias(svc, buf, PAGE_SIZE - 2);
-	return sprintf(buf, "%s\n", buf);
+	return strlen(strcat(buf, "\n"));
 }
 static DEVICE_ATTR_RO(modalias);