]> xenbits.xensource.com Git - seabios.git/commit
vbe: Add VBE 2.0+ OemData field to struct vbe_info
authorDaniel Verkamp <daniel@drv.nu>
Thu, 7 Mar 2024 09:08:27 +0000 (01:08 -0800)
committerKevin O'Connor <kevin@koconnor.net>
Sun, 10 Mar 2024 17:00:27 +0000 (13:00 -0400)
commit5d87ff2542c1116e07ae74ba84197a0013e08db1
tree416c8e3407d42b985243336850da5aca5af873c1
parent163fd9f0872f95366cfe34eb11568934c2d2fe29
vbe: Add VBE 2.0+ OemData field to struct vbe_info

Per the VBE 2.0 specification, the VBE controller information is 512
bytes long when the "VBE2" signature is provided, instead of the
original 256 bytes.

src/bootsplash.c uses the original pre-VBE-2.0 256-byte structure while
also filling in the "VBE2" signature, so a video BIOS that makes use of
the VBE2 OemData area could write past the end of the allocated region.

The original bootsplash code did not have this bug; it was introduced
when the bootsplash VBE structures were merged with the VGA ROM struct
definitions.

Fixes: 69e941c159ed ("Merge bootsplash and VGA ROM vbe structure definitions")
Signed-off-by: Daniel Verkamp <daniel@drv.nu>
src/std/vbe.h
vgasrc/vbe.c