dmatest: prevent memory leakage on error path in thread
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 22 Aug 2014 12:19:44 +0000 (15:19 +0300)
committerVinod Koul <vinod.koul@intel.com>
Tue, 23 Sep 2014 15:20:39 +0000 (20:50 +0530)
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: Vinod Koul <vinod.koul@intel.com>
drivers/dma/dmatest.c

index e27cec2..a8d7809 100644 (file)
@@ -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);