summaryrefslogtreecommitdiff
path: root/drivers/staging/intel_sst
diff options
context:
space:
mode:
authorAndre Bartke <andre.bartke@googlemail.com>2011-05-31 21:03:56 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2011-06-28 13:27:19 -0700
commit4b2b6d842ba174a32cc7ad3c4e97aa0cfcaa0be2 (patch)
tree440332d557f0e9e8bf10003f99675ee5fb51f687 /drivers/staging/intel_sst
parentc0777d228892f6a6f87f3439a030d52406f8d637 (diff)
staging: intel_sst: Fix memory leak
In case of an error stream_bufs is not freed here. Signed-off-by: Andre Bartke <andre.bartke@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/intel_sst')
-rw-r--r--drivers/staging/intel_sst/intel_sst_app_interface.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/staging/intel_sst/intel_sst_app_interface.c b/drivers/staging/intel_sst/intel_sst_app_interface.c
index b8c7ddbd7cf3..93b41a284d83 100644
--- a/drivers/staging/intel_sst/intel_sst_app_interface.c
+++ b/drivers/staging/intel_sst/intel_sst_app_interface.c
@@ -430,8 +430,10 @@ static int snd_sst_fill_kernel_list(struct stream_info *stream,
return -ENOMEM;
if (copy_from_user((void *) &rar_handle,
iovec[index].iov_base,
- sizeof(__u32)))
+ sizeof(__u32))) {
+ kfree(stream_bufs);
return -EFAULT;
+ }
stream_bufs->addr = (char *)rar_handle;
stream_bufs->in_use = false;
stream_bufs->size = iovec[0].iov_len;