aboutsummaryrefslogtreecommitdiff
path: root/vgasrc
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2013-11-30 11:45:46 -0500
committerKevin O'Connor <kevin@koconnor.net>2013-12-04 10:34:17 -0500
commit06c6d476598db2f8b3558cf070d88307da8d895f (patch)
tree4560a18478b3877282b88fbe8717484dc8a9b3c9 /vgasrc
parenta9dcc88262dcdad36f11707482a24c1cefab1904 (diff)
downloadseabios-hppa-06c6d476598db2f8b3558cf070d88307da8d895f.zip
seabios-hppa-06c6d476598db2f8b3558cf070d88307da8d895f.tar.gz
seabios-hppa-06c6d476598db2f8b3558cf070d88307da8d895f.tar.bz2
vgabios: Avoid possible divide by zero in bochsvga_set_displaystart.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc')
-rw-r--r--vgasrc/bochsvga.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/vgasrc/bochsvga.c b/vgasrc/bochsvga.c
index a19eccb..6da9d5d 100644
--- a/vgasrc/bochsvga.c
+++ b/vgasrc/bochsvga.c
@@ -212,6 +212,8 @@ bochsvga_set_displaystart(struct vgamode_s *vmode_g, int val)
if (GET_GLOBAL(dispi_found)) {
int bpp = vga_bpp(vmode_g);
int linelength = dispi_read(VBE_DISPI_INDEX_VIRT_WIDTH) * bpp / 8;
+ if (!linelength)
+ return 0;
dispi_write(VBE_DISPI_INDEX_X_OFFSET, (val % linelength) * 8 / bpp);
dispi_write(VBE_DISPI_INDEX_Y_OFFSET, val / linelength);
}