From 7b975e51fcc63e896dbbabf043032fca120673a1 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 5 Mar 2012 17:11:50 -0500 Subject: vgabios: int1009 handler bug limits count to 256 characters. Fix bug (u8 overflow) causing large screen fills to fail. Signed-off-by: Kevin O'Connor --- vgasrc/vgabios.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'vgasrc') diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index 58e467d..faf57b1 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c @@ -510,10 +510,15 @@ handle_1008(struct bregs *regs) static void noinline write_chars(u8 page, struct carattr ca, u16 count) { + u16 nbcols = GET_BDA(video_cols); struct cursorpos cp = get_cursor_pos(page); while (count--) { vgafb_write_char(cp, ca); cp.x++; + if (cp.x >= nbcols) { + cp.x -= nbcols; + cp.y++; + } } } -- cgit v1.1