On Tue, Jul 28, 2009 at 11:42:07PM +0200, Vladimir 'phcoder' Serbinenko wrote: > diff --git a/ChangeLog b/ChangeLog > index 23c288e..74b9247 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,5 +1,10 @@ > 2009-07-28 Vladimir Serbinenko <phco...@gmail.com> > > + * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are > + valid. > + > +2009-07-28 Vladimir Serbinenko <phco...@gmail.com> > + > * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator): > Clear direction flag before jumping to OS. > (grub_multiboot2_real_boot): Likewise. > diff --git a/partmap/pc.c b/partmap/pc.c > index 6f68ecf..6a2efd2 100644 > --- a/partmap/pc.c > +++ b/partmap/pc.c > @@ -121,6 +121,10 @@ pc_partition_map_iterate (grub_disk_t disk, > if (mbr.signature != grub_cpu_to_le16 (GRUB_PC_PARTITION_SIGNATURE)) > return grub_error (GRUB_ERR_BAD_PART_TABLE, "no signature"); > > + for (i = 0; i < 4; i++) > + if (mbr.entries[i].flag & 0x7f) > + return grub_error (GRUB_ERR_BAD_PART_TABLE, "bad boot flag"); > + > /* Analyze DOS partitions. */ > for (p.index = 0; p.index < 4; p.index++) > {
Looks fine to me. -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel