summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authortakawata <takawata@FreeBSD.org>2002-03-23 06:44:04 +0000
committertakawata <takawata@FreeBSD.org>2002-03-23 06:44:04 +0000
commitcfea68cc2558bffb3c97f4c8d7646b8266c30e9b (patch)
treebef75178482c06f16e509b2428b46c3586c6f9f5 /sys/i386
parentc22315924b3afee7ce2b4b2ef1ca94fbeecffbc8 (diff)
downloadFreeBSD-src-cfea68cc2558bffb3c97f4c8d7646b8266c30e9b.zip
FreeBSD-src-cfea68cc2558bffb3c97f4c8d7646b8266c30e9b.tar.gz
Add bios area range check (lower side).
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/bios.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/i386/i386/bios.c b/sys/i386/i386/bios.c
index bf4b8a3..3d4c7e5 100644
--- a/sys/i386/i386/bios.c
+++ b/sys/i386/i386/bios.c
@@ -93,7 +93,8 @@ bios32_init(void *junk)
ck += cv[i];
}
/* If checksum is OK, enable use of the entrypoint */
- if ((ck == 0) && (sdh->entry < (BIOS_START + BIOS_SIZE))) {
+ if ((ck == 0) && (BIOS_START <= sdh->entry ) &&
+ (sdh->entry < (BIOS_START + BIOS_SIZE))) {
bios32_SDCI = BIOS_PADDRTOVADDR(sdh->entry);
if (bootverbose) {
printf("bios32: Found BIOS32 Service Directory header at %p\n", sdh);
OpenPOWER on IntegriCloud