]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
HID: hidraw: Fix memory leak in list->buffer
authorAnkita Garg <ankitag@nvidia.com>
Tue, 25 Aug 2015 22:55:39 +0000 (15:55 -0700)
committermobile promotions <svcmobile_promotions@nvidia.com>
Thu, 10 Sep 2015 04:15:16 +0000 (21:15 -0700)
Deallocate memory allocated to list->buffer[x].value on
release

Bug 1677312

Change-Id: Iaf320327e917b3e78b07230819d51053e43e2c25
Signed-off-by: Ankita Garg <ankitag@nvidia.com>
Reviewed-on: http://git-master/r/791189
GVS: Gerrit_Virtual_Submit
Reviewed-by: Raymond Poudrier <rapoudrier@nvidia.com>
Reviewed-by: Eric Chuang <echuang@nvidia.com>
drivers/hid/hidraw.c

index 5fe2fe3eac785aa9cabfb837ac1ce03a0a7bc09c..36a6bef03de0cd5996e747d294a4dbb8398eebac 100644 (file)
@@ -338,9 +338,14 @@ static int hidraw_release(struct inode * inode, struct file * file)
 {
        unsigned int minor = iminor(inode);
        struct hidraw_list *list = file->private_data;
+       int i;
 
        mutex_lock(&minors_lock);
 
+       for (i = 0; i < HIDRAW_BUFFER_SIZE; i++) {
+               kfree(list->buffer[i].value);
+       }
+
        list_del(&list->node);
        kfree(list);