staging: dgnc: off by one in dgnc_mgmt_ioctl()
"dgnc_NumBoards" is the number of initialized elements in the dgnc_Board[] array so the comparison should be ">=" instead of ">" so we don't read invalid data. We can remove the special handling of the empty array now that we've fixed this bug. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
65da04c1ca
Коммит
cb1185a4ae
|
@ -153,8 +153,7 @@ long dgnc_mgmt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
if (copy_from_user(&brd, uarg, sizeof(int)))
|
||||
return -EFAULT;
|
||||
|
||||
if ((brd < 0) || (brd > dgnc_NumBoards) ||
|
||||
(dgnc_NumBoards == 0))
|
||||
if (brd < 0 || brd >= dgnc_NumBoards)
|
||||
return -ENODEV;
|
||||
|
||||
memset(&di, 0, sizeof(di));
|
||||
|
|
Загрузка…
Ссылка в новой задаче