staging: kpc2000: Fix a stack information leak in kp2000_cdev_ioctl()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 30 Apr 2019 10:35:05 +0000 (13:35 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 Apr 2019 12:19:04 +0000 (14:19 +0200)
The kp2000_regs struct has a 4 byte hole between ->hw_rev and ->ssid so
this could leak stack information to the user.  This patch just memsets
the whole struct to zero.

Fixes: 7dc7967fc39a ("staging: kpc2000: add initial set of Daktronics drivers")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/kpc2000/kpc2000/fileops.c

index 4bfba59..a6beca8 100644 (file)
@@ -91,6 +91,8 @@ long  kp2000_cdev_ioctl(struct file *filp, unsigned int ioctl_num, unsigned long
        case KP2000_IOCTL_GET_EVERYTHING: {
                struct kp2000_regs temp;
                int ret;
+
+               memset(&temp, 0, sizeof(temp));
                temp.card_id = pcard->card_id;
                temp.build_version = pcard->build_version;
                temp.build_datestamp = pcard->build_datestamp;