This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2] tst-longjmp_chk2: add comments/sanity check
- From: Mike Frysinger <vapier at gentoo dot org>
- To: libc-alpha at sourceware dot org
- Date: Mon, 30 Dec 2013 11:18:12 -0500
- Subject: [PATCH v2] tst-longjmp_chk2: add comments/sanity check
- Authentication-results: sourceware.org; auth=none
- References: <1388352685-11157-1-git-send-email-vapier at gentoo dot org>
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>
---
debug/tst-longjmp_chk2.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/debug/tst-longjmp_chk2.c b/debug/tst-longjmp_chk2.c
index 22d8bf0..dae9ca0 100644
--- a/debug/tst-longjmp_chk2.c
+++ b/debug/tst-longjmp_chk2.c
@@ -1,4 +1,6 @@
-/* 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>
@@ -18,7 +20,10 @@ static void
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. */
--
1.8.4.3