[PATCH] staging: omapdrm/omap_gem_dmabuf.c: fix memory leakage

Cong Ding dinggnu at gmail.com
Tue Jan 15 19:46:50 UTC 2013


There is a memory leakage in variable sg if it goes to error.

Signed-off-by: Cong Ding <dinggnu at gmail.com>
---
 drivers/staging/omapdrm/omap_gem_dmabuf.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/omapdrm/omap_gem_dmabuf.c b/drivers/staging/omapdrm/omap_gem_dmabuf.c
index b6c5b5c..a3236ab 100644
--- a/drivers/staging/omapdrm/omap_gem_dmabuf.c
+++ b/drivers/staging/omapdrm/omap_gem_dmabuf.c
@@ -53,10 +53,10 @@ static struct sg_table *omap_gem_map_dma_buf(
 	/* this should be after _get_paddr() to ensure we have pages attached */
 	omap_gem_dma_sync(obj, dir);
 
-out:
-	if (ret)
-		return ERR_PTR(ret);
 	return sg;
+out:
+	kfree(sg);
+	return ERR_PTR(ret);
 }
 
 static void omap_gem_unmap_dma_buf(struct dma_buf_attachment *attachment,
-- 
1.7.10.4




More information about the devel mailing list