mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-23 07:39:22 +00:00
Fix wrapped HFS+ handling.
* grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument blocks_start. All users updated. * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add wrapping offset. (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
This commit is contained in:
1 parent
607d282b29
commit
f417ed0432
11 files changed
+25
-14
No files matched your search
@@ -327,9 +327,7 @@ grub_hfsplus_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
|
||||
nnode = 0;
|
||||
|
||||
if (blk != 0xffffffffffffffffULL)
|
||||
return (blk
|
||||
+ (node->data->embedded_offset >> (node->data->log2blksize
|
||||
- GRUB_DISK_SECTOR_BITS)));
|
||||
return blk;
|
||||
|
||||
/* For the extent overflow file, extra extents can't be found in
|
||||
the extent overflow file. If this happens, you found a
|
||||
@@ -382,7 +380,8 @@ grub_hfsplus_read_file (grub_fshelp_node_t node,
|
||||
return grub_fshelp_read_file (node->data->disk, node, read_hook,
|
||||
pos, len, buf, grub_hfsplus_read_block,
|
||||
node->size,
|
||||
node->data->log2blksize - GRUB_DISK_SECTOR_BITS);
|
||||
node->data->log2blksize - GRUB_DISK_SECTOR_BITS,
|
||||
node->data->embedded_offset);
|
||||
}
|
||||
|
||||
static struct grub_hfsplus_data *
|
||||
|
||||
Reference in new issue
Block a user