If the longjmp checking code is slightly broken, this code can loop
forever which isn't too helpful. Add a sanity check to keep that
from happening.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+2014-03-13 Mike Frysinger <vapier@gentoo.org>
+
+ * debug/tst-longjmp_chk2.c: Update header comment.
+ (stackoverflow_handler): Add comment. Call assert on pass value.
+
2014-03-13 Igor Zamyatin <igor.zamyatin@intel.com>
* config.h.in (HAVE_AVX512_SUPPORT): New #undef.
-/* Test case mostly written by Paolo Bonzini <pbonzini@redhat.com>. */
+/* Verify longjmp fortify checking does not reject signal stacks.
+
+ Test case mostly written by Paolo Bonzini <pbonzini@redhat.com>. */
#include <assert.h>
#include <setjmp.h>
#include <signal.h>
stackoverflow_handler (int sig)
{
stack_t altstack;
+ /* Sanity check to keep test from looping forever (in case the longjmp
+ chk code is slightly broken). */
pass++;
+ assert (pass < 5);
sigaltstack (NULL, &altstack);
/* Using printf is not really kosher in signal handlers but we know
it will work. */