2010-02-03 Torsten Landschoff <torsten@debian.org>
* kern/disk.c (grub_disk_read): Fix offset computation when reading last sectors.
This commit is contained in:
parent
996649b073
commit
399f6e4d9c
2 changed files with 7 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2010-02-03 Torsten Landschoff <torsten@debian.org>
|
||||||
|
|
||||||
|
* kern/disk.c (grub_disk_read): Fix offset computation when reading
|
||||||
|
last sectors.
|
||||||
|
|
||||||
2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
|
2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
|
* disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
|
||||||
|
|
|
@ -441,7 +441,7 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector,
|
||||||
|
|
||||||
grub_errno = GRUB_ERR_NONE;
|
grub_errno = GRUB_ERR_NONE;
|
||||||
|
|
||||||
num = ((size + real_offset + pos + GRUB_DISK_SECTOR_SIZE - 1)
|
num = ((size + real_offset + GRUB_DISK_SECTOR_SIZE - 1)
|
||||||
>> GRUB_DISK_SECTOR_BITS);
|
>> GRUB_DISK_SECTOR_BITS);
|
||||||
|
|
||||||
p = grub_realloc (tmp_buf, num << GRUB_DISK_SECTOR_BITS);
|
p = grub_realloc (tmp_buf, num << GRUB_DISK_SECTOR_BITS);
|
||||||
|
@ -458,7 +458,7 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector,
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
||||||
grub_memcpy (buf, tmp_buf + pos + real_offset, size);
|
grub_memcpy (buf, tmp_buf + real_offset, size);
|
||||||
|
|
||||||
/* Call the read hook, if any. */
|
/* Call the read hook, if any. */
|
||||||
if (disk->read_hook)
|
if (disk->read_hook)
|
||||||
|
|
Loading…
Reference in a new issue