summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper Juhl <jj@chaosbits.net>2011-01-02 22:17:00 +0100
committerJiri Kosina <jkosina@suse.cz>2011-01-03 00:11:30 +0100
commit0fbf8ed976af5bb43cf9cf2492161eb9688fee0c (patch)
tree186b2986bcbbbf97f49b1e2385880b84df9fd7d2
parent86280a208825d55ba988420b6b0ed2d6b9ec80f8 (diff)
downloadlinux-0fbf8ed976af5bb43cf9cf2492161eb9688fee0c.tar.gz
linux-0fbf8ed976af5bb43cf9cf2492161eb9688fee0c.tar.bz2
linux-0fbf8ed976af5bb43cf9cf2492161eb9688fee0c.zip
HID: hid-picolcd: Fix memory leak in picolcd_debug_out_report()
We have a memory leak in drivers/hid/hid-picolcd.c::picolcd_debug_out_report() in an error path.. We are not always freeing the memory allocated to 'buff' - this patch makes sure we always kfree() what we allocate with kmalloc() when it is no longer needed. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/hid-picolcd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/hid/hid-picolcd.c b/drivers/hid/hid-picolcd.c
index 0aff3cdddd83..abd0bdc84624 100644
--- a/drivers/hid/hid-picolcd.c
+++ b/drivers/hid/hid-picolcd.c
@@ -1867,6 +1867,7 @@ static void picolcd_debug_out_report(struct picolcd_data *data,
report->id, raw_size);
hid_debug_event(hdev, buff);
if (raw_size + 5 > sizeof(raw_data)) {
+ kfree(buff);
hid_debug_event(hdev, " TOO BIG\n");
return;
} else {