aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch
blob: ddfeb7f967a64273cd8970cb5b4433d415a5df22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From 7f70f194ae135bd1e856c2dc811b8fa4a56296ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Thu, 20 Sep 2012 09:41:56 +0300
Subject: [PATCH] fbsplash: use virtual y size in mmap size calculations
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
---
 miscutils/fbsplash.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c
index 7b695b2..58e491d 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_fix.line_length,
 			PROT_WRITE, MAP_SHARED, fbfd, 0);
 	if (G.addr == MAP_FAILED)
 		bb_perror_msg_and_die("mmap");
-- 
2.1.3