(amiga_partition_map_iterate): Check "PART" magic to avoid a very long
loop in case of incorrect amiga partmap.
+2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
+ (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
+ loop in case of incorrect amiga partmap.
+
2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
{
/* "PART". */
grub_uint8_t magic[4];
+#define GRUB_AMIGA_PART_MAGIC "PART"
grub_int32_t size;
grub_int32_t checksum;
grub_uint32_t scsihost;
if (grub_disk_read (disk, next, 0, sizeof (apart), &apart))
return grub_errno;
+ if (grub_memcmp (apart.magic, GRUB_AMIGA_PART_MAGIC,
+ sizeof (apart.magic)) == 0)
+
/* Calculate the first block and the size of the partition. */
part.start = (grub_be_to_cpu32 (apart.lowcyl)
* grub_be_to_cpu32 (apart.heads)