Comment 11 for bug 601030

Revision history for this message
Michael Hope (michaelh1) wrote :

The fault occurs as the 'pass' value given to longjmp() gets corrupted before use by setjmp(), causing the 'setjmp() < 2' test to fail and the system to loop forever. The only assembler level fortify/non-fortify difference is a call to longjmp_chk instead of longjmp.

Note that shifting 'mystack' off the stack and into static memory also works around the problem.

(Tested using gcc 4.4.4-9ubuntu1)