Any occurrence of simple_strtoul has been replaced with the better
strict_strtoul, because the former accepts and ignores any char at the
tail while the latter only accepts a new line character following the
number (and -EINVAL is returned otherwise).

Signed-off-by: Marco Chiappero <[email protected]> 
--- 

--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -919,7 +919,8 @@ static ssize_t sony_nc_sysfs_store(struc
        if (count > 31)
                return -EINVAL;
 
-       value = simple_strtoul(buffer, NULL, 10);
+       if (strict_strtoul(buffer, 10, &value))
+               return -EINVAL;
 
        if (item->validate)
                value = item->validate(SNC_VALIDATE_IN, value);
@@ -2437,7 +2438,9 @@ static ssize_t sony_pic_wwanpower_store(
        if (count > 31)
                return -EINVAL;
 
-       value = simple_strtoul(buffer, NULL, 10);
+       if (strict_strtoul(buffer, 10, &value))
+               return -EINVAL;
+
        mutex_lock(&spic_dev.lock);
        __sony_pic_set_wwanpower(value);
        mutex_unlock(&spic_dev.lock);
@@ -2474,7 +2477,9 @@ static ssize_t sony_pic_bluetoothpower_s
        if (count > 31)
                return -EINVAL;
 
-       value = simple_strtoul(buffer, NULL, 10);
+       if (strict_strtoul(buffer, 10, &value))
+               return -EINVAL;
+
        mutex_lock(&spic_dev.lock);
        __sony_pic_set_bluetoothpower(value);
        mutex_unlock(&spic_dev.lock);
@@ -2513,7 +2518,9 @@ static ssize_t sony_pic_fanspeed_store(s
        if (count > 31)
                return -EINVAL;
 
-       value = simple_strtoul(buffer, NULL, 10);
+       if (strict_strtoul(buffer, 10, &value))
+               return -EINVAL;
+
        if (sony_pic_set_fanspeed(value))
                return -EIO;
 

--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" 
in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to