staging: kpc2000: prevent underflow in cpld_reconfigure()
commit 72db61d7d17a475d3cc9de1a7c871d518fcd82f0 upstream. This function should not allow negative values of "wr_val". If negatives are allowed then capping the upper bound at 7 is meaningless. Let's make it unsigned. Fixes: 7dc7967fc39a ("staging: kpc2000: add initial set of Daktronics drivers") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Cc: stable <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20200224103325.hrxdnaeqsthplu42@kili.mountain Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b958dea86c
commit
fea3939c6c
@ -110,10 +110,10 @@ static ssize_t cpld_reconfigure(struct device *dev,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
struct kp2000_device *pcard = dev_get_drvdata(dev);
|
||||
long wr_val;
|
||||
unsigned long wr_val;
|
||||
int rv;
|
||||
|
||||
rv = kstrtol(buf, 0, &wr_val);
|
||||
rv = kstrtoul(buf, 0, &wr_val);
|
||||
if (rv < 0)
|
||||
return rv;
|
||||
if (wr_val > 7)
|
||||
|
Reference in New Issue
Block a user