浏览代码

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>
Andy Shevchenko 11 年之前
父节点
当前提交
8e1f50d743
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/dma/dmatest.c

+ 2 - 2
drivers/dma/dmatest.c

@@ -688,14 +688,14 @@ static int dmatest_func(void *data)
 	runtime = ktime_us_delta(ktime_get(), ktime);
 	runtime = ktime_us_delta(ktime_get(), ktime);
 
 
 	ret = 0;
 	ret = 0;
+err_dstbuf:
 	for (i = 0; thread->dsts[i]; i++)
 	for (i = 0; thread->dsts[i]; i++)
 		kfree(thread->dsts[i]);
 		kfree(thread->dsts[i]);
-err_dstbuf:
 	kfree(thread->dsts);
 	kfree(thread->dsts);
 err_dsts:
 err_dsts:
+err_srcbuf:
 	for (i = 0; thread->srcs[i]; i++)
 	for (i = 0; thread->srcs[i]; i++)
 		kfree(thread->srcs[i]);
 		kfree(thread->srcs[i]);
-err_srcbuf:
 	kfree(thread->srcs);
 	kfree(thread->srcs);
 err_srcs:
 err_srcs:
 	kfree(pq_coefs);
 	kfree(pq_coefs);