Both the original and the first attempted patch managed to get the logic wrong.
So we fix it so we only continue if sscanf returns exactly one value, and it
has to be either 1 or 2.  Apparently, programmers are getting out and hacking
code without remembering de Morgan's Laws...

Patch is against the file that results from Ari's revert of the previous
patch.

Signed-Off-By: Valdis Kletnieks <[email protected]>

--
--- drivers/platform/x86/toshiba_acpi.c.orig    2014-08-20 14:45:52.159898938 
-0400
+++ drivers/platform/x86/toshiba_acpi.c 2014-08-20 14:47:55.102444985 -0400
@@ -1258,7 +1258,7 @@ static ssize_t toshiba_kbd_bl_mode_store
        int mode = -1;
        int time = -1;
 
-       if (sscanf(buf, "%i", &mode) != 1 && (mode != 2 || mode != 1))
+       if (sscanf(buf, "%i", &mode) != 1 || !(mode == 2 || mode == 1))
                return -EINVAL;
 
        /* Set the Keyboard Backlight Mode where:

--
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