From 391911b768bf061d5ee469fbca246ee356e9d3f0 Mon Sep 17 00:00:00 2001 From: Robert Nordier Date: Fri, 29 Jan 1999 03:36:42 +0000 Subject: [PATCH] Check size of partition before using it. --- sys/boot/i386/boot2/boot2.c | 5 +++-- sys/boot/i386/gptboot/gptboot.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/boot/i386/boot2/boot2.c b/sys/boot/i386/boot2/boot2.c index ddd03160065..cc20a92019c 100644 --- a/sys/boot/i386/boot2/boot2.c +++ b/sys/boot/i386/boot2/boot2.c @@ -14,7 +14,7 @@ */ /* - * $Id: boot2.c,v 1.18 1999/01/11 11:36:03 rnordier Exp $ + * $Id: boot2.c,v 1.19 1999/01/24 00:10:10 msmith Exp $ */ #include @@ -571,7 +571,8 @@ dskread(void *buf, unsigned lba, unsigned nblk) dsk.type = MAJ_DA; dsk.init++; } - if (dsk.part >= d->d_npartitions) { + if (dsk.part >= d->d_npartitions || + !d->d_partitions[dsk.part].p_size) { printf("Invalid %s\n", "partition"); return -1; } diff --git a/sys/boot/i386/gptboot/gptboot.c b/sys/boot/i386/gptboot/gptboot.c index ddd03160065..cc20a92019c 100644 --- a/sys/boot/i386/gptboot/gptboot.c +++ b/sys/boot/i386/gptboot/gptboot.c @@ -14,7 +14,7 @@ */ /* - * $Id: boot2.c,v 1.18 1999/01/11 11:36:03 rnordier Exp $ + * $Id: boot2.c,v 1.19 1999/01/24 00:10:10 msmith Exp $ */ #include @@ -571,7 +571,8 @@ dskread(void *buf, unsigned lba, unsigned nblk) dsk.type = MAJ_DA; dsk.init++; } - if (dsk.part >= d->d_npartitions) { + if (dsk.part >= d->d_npartitions || + !d->d_partitions[dsk.part].p_size) { printf("Invalid %s\n", "partition"); return -1; }