Im resubmitting an individual patch by Alain Greppin which was originaly provided as part of a much larger patch (and declined for that reason).
2008-03-08 Alain Greppin <[EMAIL PROTECTED]> * fs/sfs.c (grub_sfs_read_extent ): Fix the count of nodes in extent-btree which is written as big endian on disk. Index: fs/sfs.c =================================================================== --- fs/sfs.c (revision 27991) +++ fs/sfs.c (working copy) @@ -172,7 +172,8 @@ return grub_errno; } - for (i = 0; i < tree->nodes; i++) + grub_uint16_t nodescount = grub_be_to_cpu16(tree->nodes); + for (i = 0; i < nodescount; i++) { #define EXTNODE(tree, index) \ @@ -189,7 +190,7 @@ /* In case the last node is reached just use that one, it is the right match. */ - if (i + 1 == tree->nodes && !tree->leaf) + if (i + 1 == nodescount && !tree->leaf) { next = grub_be_to_cpu32 (EXTNODE (tree, i)->data); break;
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel