=== modified file 'kern/disk.c' --- kern/disk.c 2010-02-07 00:48:38 +0000 +++ kern/disk.c 2010-07-09 16:44:06 +0000 @@ -248,11 +248,16 @@ grub_disk_open (const char *name) if (! disk) return 0; - disk->name = grub_strdup (name); + p = find_part_sep (name); + + if (p) + disk->name = grub_strndup (name, p - name); + else + disk->name = grub_strdup (name); + if (! disk->name) goto fail; - p = find_part_sep (name); if (p) { grub_size_t len = p - name;