video: Fix possible leak in of_get_videomode()
authorChristian Engelmayer <cengelma@gmx.at>
Sat, 11 Jul 2015 17:46:11 +0000 (19:46 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 10 Aug 2015 12:11:12 +0000 (15:11 +0300)
In case videomode_from_timings() fails in function of_get_videomode(), the
allocated display timing data is not freed in the exit path. Make sure that
display_timings_release() is called in any case. Detected by Coverity CID
1309681.

Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/of_videomode.c

index 111c2d1..b5102aa 100644 (file)
@@ -44,11 +44,9 @@ int of_get_videomode(struct device_node *np, struct videomode *vm,
                index = disp->native_mode;
 
        ret = videomode_from_timings(disp, vm, index);
-       if (ret)
-               return ret;
 
        display_timings_release(disp);
 
-       return 0;
+       return ret;
 }
 EXPORT_SYMBOL_GPL(of_get_videomode);