diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2013-11-30 11:45:46 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2013-12-04 10:34:17 -0500 |
commit | 06c6d476598db2f8b3558cf070d88307da8d895f (patch) | |
tree | 4560a18478b3877282b88fbe8717484dc8a9b3c9 /vgasrc/bochsvga.c | |
parent | a9dcc88262dcdad36f11707482a24c1cefab1904 (diff) | |
download | seabios-06c6d476598db2f8b3558cf070d88307da8d895f.tar.gz |
vgabios: Avoid possible divide by zero in bochsvga_set_displaystart.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc/bochsvga.c')
-rw-r--r-- | vgasrc/bochsvga.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/vgasrc/bochsvga.c b/vgasrc/bochsvga.c index a19eccbb..6da9d5da 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); } |