With recent version of GRUB, I have some problem when doing some ls or tab-completion commands.It says unaligned pointer or out of range pointer.

I spent some time on it and I think I found the problem.

In the file config.h, the NESTED_FUNC_ATTR has no value but it should be set to :

#define NESTED_FUNC_ATTR __attribute__ ((__regparm__ (2)))


By comparing a version that work on my pc and the one that doesn't work, I found that that in aclocal.m4, the line return nestedfunc(0,0,0) was now ! nestedfunc(0,0,0).

As a result, the macro NESTED_FUNC_ATTR is not defined anymore and a pointer that was pasted as a third argument of a nested function was corrupted. This appends in grub_ext2_dir() in the nested iterate() function which does a grub_free(node). The pointer node is the one that was corrupted.

Maybe this is also the same problem that the one that has been reported recently for the 1.90 release although the description is quite different.



--
                                Vincent Guffens
                                PhD Student UCL/CESAME
                                tel:   +32 10 47 80 30
Value your freedom, or you will lose it, teaches history.
"Don't bother us with politics," respond those who don't want to learn.
                -- Richard M. Stallman


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to