[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181026232409.16100-8-linux@rasmusvillemoes.dk>
Date: Sat, 27 Oct 2018 01:24:09 +0200
From: Rasmus Villemoes <linux@...musvillemoes.dk>
To: Kees Cook <keescook@...omium.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>
Cc: linux-kernel@...r.kernel.org,
Rasmus Villemoes <linux@...musvillemoes.dk>,
linux-hwmon@...r.kernel.org
Subject: [RFC PATCH 7/7] drivers: hwmon: add runtime format string checking
With -Wformat-nonliteral, gcc complains
drivers/hwmon/hwmon.c: In function ‘hwmon_genattr’:
drivers/hwmon/hwmon.c:282:6: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
index + hwmon_attr_base(type));
Add a runtime check to ensure that the template indeed has a single %d
printf specifier. Using fmtcheck() also makes gcc verify that the
expression 'index + hwmon_attr_base(type)' is suitable for %d.
Signed-off-by: Rasmus Villemoes <linux@...musvillemoes.dk>
---
drivers/hwmon/hwmon.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
index 33d51281272b..ec6f5f36b5fc 100644
--- a/drivers/hwmon/hwmon.c
+++ b/drivers/hwmon/hwmon.c
@@ -278,7 +278,8 @@ static struct attribute *hwmon_genattr(struct device *dev,
if (type == hwmon_chip) {
name = (char *)template;
} else {
- scnprintf(hattr->name, sizeof(hattr->name), template,
+ scnprintf(hattr->name, sizeof(hattr->name),
+ fmtcheck(template, "type%dwhat", 0),
index + hwmon_attr_base(type));
name = hattr->name;
}
--
2.19.1.6.gbde171bbf5
Powered by blists - more mailing lists