[PATCH 4/4] video/imx: always initialize offscreenbuf member

Daniel Mierswa d.mierswa at phytec.de
Thu Jan 17 01:32:59 EST 2013


If offscreen was not passed to fd_open the resulting offscreenbuf
member was a dangling pointer and the free() call in fd_close
would result in undefined behaviour.

Signed-off-by: Daniel Mierswa <d.mierswa at phytec.de>
---
 commands/splash.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/commands/splash.c b/commands/splash.c
index 4cc463e..75c7074 100644
--- a/commands/splash.c
+++ b/commands/splash.c
@@ -59,6 +59,14 @@ static int do_splash(int argc, char *argv[])
 		return 1;
 	}
 
+	/*
+	 * sc.offscreenbuf is dangling here, if no offscreen buffer was
+	 * requested, so set it to NULL otherwise the free in fd_close
+	 * will cause undefined behaviour
+	 */
+	if (!offscreen)
+		sc.offscreenbuf = NULL;
+
 	if (sc.offscreenbuf) {
 		if (do_bg)
 			memset_pixel(&info, sc.offscreenbuf, bg_color,
-- 
1.8.1




More information about the barebox mailing list