Fix stack overflow in tst-setcontext9 (bug 23717)
authorAndreas Schwab <schwab@suse.de>
Thu, 27 Sep 2018 09:12:13 +0000 (11:12 +0200)
committerAndreas Schwab <schwab@suse.de>
Thu, 27 Sep 2018 10:31:03 +0000 (12:31 +0200)
The function f1a, executed on a stack of size 32k, allocates an object of
size 32k on the stack.  Make the stack variables static to reduce
excessive stack usage.

ChangeLog
stdlib/tst-setcontext9.c

index 85f8e09..a5a64da 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-09-27  Andreas Schwab  <schwab@suse.de>
+
+       [BZ #23717]
+       * stdlib/tst-setcontext9.c (f1a): Make st2 static.
+       (do_test): Make st1 static.
+
 2018-09-26  Andreas Schwab  <schwab@suse.de>
 
        [BZ #23707]
index db83557..0099282 100644 (file)
@@ -58,7 +58,7 @@ f1b (void)
 static void
 f1a (void)
 {
-  char st2[32768];
+  static char st2[32768];
   puts ("start f1a");
   if (getcontext (&ctx[2]) != 0)
     {
@@ -93,7 +93,7 @@ f1a (void)
 static int
 do_test (void)
 {
-  char st1[32768];
+  static char st1[32768];
   puts ("making contexts");
   if (getcontext (&ctx[0]) != 0)
     {