hwmon: (applesmc) Limit key length in warning messages
authorHenrik Rydberg <rydberg@euromail.se>
Thu, 7 Jun 2012 08:54:29 +0000 (04:54 -0400)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 18 Jun 2012 15:48:00 +0000 (08:48 -0700)
Key lookups may call read_smc() with a fixed-length key string,
and if the lookup fails, trailing stack content may appear in the
kernel log. Fixed with this patch.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Cc: stable@vger.kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/applesmc.c

index f082e48ab11395e3f99545d3feea2b3def29d32a..70d62f5bc9092ecc90eee9f2b050a870213da832 100644 (file)
@@ -215,7 +215,7 @@ static int read_smc(u8 cmd, const char *key, u8 *buffer, u8 len)
        int i;
 
        if (send_command(cmd) || send_argument(key)) {
-               pr_warn("%s: read arg fail\n", key);
+               pr_warn("%.4s: read arg fail\n", key);
                return -EIO;
        }
 
@@ -223,7 +223,7 @@ static int read_smc(u8 cmd, const char *key, u8 *buffer, u8 len)
 
        for (i = 0; i < len; i++) {
                if (__wait_status(0x05)) {
-                       pr_warn("%s: read data fail\n", key);
+                       pr_warn("%.4s: read data fail\n", key);
                        return -EIO;
                }
                buffer[i] = inb(APPLESMC_DATA_PORT);