]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
HID: hidraw: Fix potential memory leak in list->buffer
authorAnkita Garg <ankitag@nvidia.com>
Tue, 25 Aug 2015 23:15:03 +0000 (16:15 -0700)
committerRaymond Poudrier <rapoudrier@nvidia.com>
Wed, 9 Sep 2015 22:00:24 +0000 (15:00 -0700)
Bug 1677312

Change-Id: I4fe6296b3d944c7ebf81f3af2aa73256688a4613
Signed-off-by: Ankita Garg <ankitag@nvidia.com>
Reviewed-on: http://git-master/r/789231
(cherry picked from commit 78d9ee9ad113e31193fdfae30f3743a0febcb8ca)
Signed-off-by: Ankita Garg <ankitag@nvidia.com>
Reviewed-on: http://git-master/r/791959
Reviewed-by: Raymond Poudrier <rapoudrier@nvidia.com>
drivers/hid/hidraw.c

index 5fe2fe3eac785aa9cabfb837ac1ce03a0a7bc09c..8a495784031199badf378eb9f243bf80d789a302 100644 (file)
@@ -7,7 +7,7 @@
  * use a transport-specific userspace libhid/libusb libraries.
  *
  *  Copyright (c) 2007 Jiri Kosina
- * Copyright (c) 2014, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2014-2015, NVIDIA CORPORATION.  All rights reserved.
  */
 
 /*
@@ -477,6 +477,7 @@ int hidraw_report_event(struct hid_device *hid, u8 *data, int len)
                if (new_head == list->tail)
                        continue;
 
+               kfree(list->buffer[list->head].value);
                if (!(list->buffer[list->head].value = kmemdup(data, len, GFP_ATOMIC))) {
                        ret = -ENOMEM;
                        break;