diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2014-08-22 15:19:44 +0300 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2014-08-22 06:17:37 -0700 |
commit | 8e1f50d7433b9a6e52cb296943f53c3ce8189ea5 (patch) | |
tree | ead604fd4ce9da52cae2cec23f012b77384b31f5 /drivers/dma | |
parent | e628ce70cae5ccd67830b0e2c3d038831746d86b (diff) | |
download | op-kernel-dev-8e1f50d7433b9a6e52cb296943f53c3ce8189ea5.zip op-kernel-dev-8e1f50d7433b9a6e52cb296943f53c3ce8189ea5.tar.gz |
dmatest: prevent memory leakage on error path in thread
When we fail to allocate memory for thread->srcs or thread->dsts and src_cnt or
dst_cnt great than 1 we leak memory on error path. This patch fixes the issue.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/dmatest.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c index 05b6dea..69616e2 100644 --- a/drivers/dma/dmatest.c +++ b/drivers/dma/dmatest.c @@ -688,14 +688,14 @@ static int dmatest_func(void *data) runtime = ktime_us_delta(ktime_get(), ktime); ret = 0; +err_dstbuf: for (i = 0; thread->dsts[i]; i++) kfree(thread->dsts[i]); -err_dstbuf: kfree(thread->dsts); err_dsts: +err_srcbuf: for (i = 0; thread->srcs[i]; i++) kfree(thread->srcs[i]); -err_srcbuf: kfree(thread->srcs); err_srcs: kfree(pq_coefs); |