Fix a double device name

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-09-08 20:39:57 +02:00
parent 7b111db538
commit 3fcb410549
3 changed files with 9 additions and 18 deletions

View file

@ -135,28 +135,22 @@ grub_device_iterate (int (*hook) (const char *name))
int iterate_partition (grub_disk_t disk, const grub_partition_t partition)
{
char *partition_name;
struct part_ent *p;
partition_name = grub_partition_get_name (partition);
if (! partition_name)
return 1;
p = grub_malloc (sizeof (*p));
if (!p)
{
grub_free (partition_name);
return 1;
}
p->name = grub_xasprintf ("%s,%s", disk->name, partition_name);
p->name = grub_xasprintf ("%s,%s%d", disk->name, partition->partmap->name,
partition->number + 1);
if (!p->name)
{
grub_free (partition_name);
grub_free (p);
return 1;
}
grub_free (partition_name);
p->next = ents;
ents = p;