[git commit] fbsplash: use virtual y size in mmap size calculations

Denys Vlasenko vda.linux at googlemail.com
Tue Oct 27 20:32:00 UTC 2015


commit: http://git.busybox.net/busybox/commit/?id=82c2fad26c4134cc60eed9a3f05a9bbec70ab65b
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

The virtual y can be larger - and we can be even writing there since
we are taking into account the y offset. Avoids possible crash.
But use it only if set, seems it is not set if virtual area is not
allocated (though, often fbcon allocates some scrollback area).

Signed-off-by: Timo Teräs <timo.teras at iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 miscutils/fbsplash.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c
index 77033c2..9557c41 100644
--- a/miscutils/fbsplash.c
+++ b/miscutils/fbsplash.c
@@ -150,7 +150,7 @@ static void fb_open(const char *strfb_device)
 
 	// map the device in memory
 	G.addr = mmap(NULL,
-			G.scr_var.yres * G.scr_fix.line_length,
+			(G.scr_var.yres_virtual ?: G.scr_var.yres) * G.scr_fix.line_length,
 			PROT_WRITE, MAP_SHARED, fbfd, 0);
 	if (G.addr == MAP_FAILED)
 		bb_perror_msg_and_die("mmap");


More information about the busybox-cvs mailing list