]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Fix a cache retrieving bug
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 24 Apr 2011 12:52:00 +0000 (14:52 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 24 Apr 2011 12:52:00 +0000 (14:52 +0200)
grub-core/kern/disk.c

index 5439a02f6a77747a2bb1b4bdd3e52ae23218ac86..30bc604f0096c35dbc0a18ae65ae83691881289c 100644 (file)
@@ -571,7 +571,8 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector,
        
       if (data)
        {
-         grub_memcpy (buf, data, GRUB_DISK_CACHE_SIZE);
+         grub_memcpy (buf, data,
+                      GRUB_DISK_CACHE_SIZE << GRUB_DISK_SECTOR_BITS);
          sector += GRUB_DISK_CACHE_SIZE;
          buf = (char *) buf + (GRUB_DISK_CACHE_SIZE << GRUB_DISK_SECTOR_BITS);
          size -= (GRUB_DISK_CACHE_SIZE << GRUB_DISK_SECTOR_BITS);