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:
Dan Carpenter 2015-03-10 10:39:42 +03:00 коммит произвёл Greg Kroah-Hartman
Родитель 65da04c1ca
Коммит cb1185a4ae
1 изменённых файлов: 1 добавлений и 2 удалений

Просмотреть файл

@ -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))) if (copy_from_user(&brd, uarg, sizeof(int)))
return -EFAULT; return -EFAULT;
if ((brd < 0) || (brd > dgnc_NumBoards) || if (brd < 0 || brd >= dgnc_NumBoards)
(dgnc_NumBoards == 0))
return -ENODEV; return -ENODEV;
memset(&di, 0, sizeof(di)); memset(&di, 0, sizeof(di));