]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 30 Jan 2013 08:22:43 +0000 (09:22 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 30 Jan 2013 08:22:43 +0000 (09:22 +0100)
of extended attributes.

ChangeLog
grub-core/fs/xfs.c

index 74ef434e9f02079278552ed635bf27dbf26a667f..e5b71cf5a269b0955c886c0f6c03c83828715fe4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-30  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
+       of extended attributes.
+
 2013-01-27  Andrey Borzenkov <arvidjaar@gmail.com>
 
        * util/grub-install.in: change misleading comment about
index 49d2a8916c3170da5b3574142daf51a07d132cae..aee15825a131cc186398d69fa3a74287eef3e2bb 100644 (file)
@@ -295,9 +295,7 @@ grub_xfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
       nrec = grub_be_to_cpu16 (node->inode.data.btree.numrecs);
       keys = &node->inode.data.btree.keys[0];
       if (node->inode.fork_offset)
-       recoffset = (node->inode.fork_offset
-                    - ((char *) &node->inode.data.btree.keys - (char *) &node->inode))
-         / (2 * sizeof (grub_uint64_t));
+       recoffset = (node->inode.fork_offset - 1) / 2;
       else
        recoffset = ((1 << node->data->sblock.log2_inode)
                     - ((char *) &node->inode.data.btree.keys