]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix stack overflow in tst-setcontext9 (bug 23717)
authorAndreas Schwab <schwab@suse.de>
Thu, 27 Sep 2018 10:37:06 +0000 (12:37 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 27 Sep 2018 10:37:06 +0000 (12:37 +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.

(cherry picked from commit f841c97e515a1673485a2b12b3c280073d737890)

ChangeLog
NEWS
stdlib/tst-setcontext9.c

index 84503e3a0c4f61a35df3af7aef7e31733b0b8fdf..4fbb9e2ad8ff93537762e16d46548f70a2e472e4 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-21  H.J. Lu  <hongjiu.lu@intel.com>
            Xuepeng Guo  <xuepeng.guo@intel.com>
 
diff --git a/NEWS b/NEWS
index d1f1dd4b228bda34e0ce040b57230cd9e24ae82c..bc568bcec0ad064226e8a879ac751815848d960f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -15,6 +15,7 @@ The following bugs are resolved with this release:
   [23578] regex: Fix memory overread in re_compile_pattern
   [23606] Missing ENDBR32 in sysdeps/i386/start.S
   [23679] gethostid: Missing NULL check for gethostbyname_r result
+  [23717] Fix stack overflow in stdlib/tst-setcontext9
 
 \f
 Version 2.28
index db8355766ca7b9060e87244a06900f820f20ebd2..009928235dd5987ed73a117f51336284270e49d6 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)
     {