In ipipe_g_config the allocated memory for params needs to be released
if either module_if->get or copy_to_user fails.

Signed-off-by: Navid Emamdoost <navid.emamdo...@gmail.com>
---
 drivers/staging/media/davinci_vpfe/dm365_ipipe.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c 
b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c
index 52397ad0e3e2..3023691b53c0 100644
--- a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c
+++ b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c
@@ -1316,10 +1316,13 @@ static int ipipe_g_config(struct v4l2_subdev *sd, 
struct vpfe_ipipe_config *cfg)
 
                if (to && from && size) {
                        rval = module_if->get(ipipe, from);
-                       if (rval)
+                       if (rval) {
+                               kfree(params);
                                goto error;
+                       }
                        if (copy_to_user((void __user *)to, from, size)) {
                                rval = -EFAULT;
+                               kfree(params);
                                break;
                        }
                }
-- 
2.17.1

Reply via email to