This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] Cygwin: Fixing the math behind rounding down ch.stacklimit to page size.


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=06797545b3270f8cfafe1d8314970dc705f29d39

commit 06797545b3270f8cfafe1d8314970dc705f29d39
Author: Sergejs Lukanihins <slukanihin@gmail.com>
Date:   Fri May 25 17:27:21 2018 +0100

    Cygwin: Fixing the math behind rounding down ch.stacklimit to page size.

Diff:
---
 winsup/cygwin/fork.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index bcbef12..c6fef67 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -316,7 +316,7 @@ frok::parent (volatile char * volatile stack_here)
 	 on whether we're running on a pthread or not.  If pthread, we fetch
 	 the guardpage size from the pthread attribs, otherwise we use the
 	 system default. */
-      ch.stacklimit = (void *) ((uintptr_t) stack_here & ~wincap.page_size ());
+      ch.stacklimit = (void *) ((uintptr_t) stack_here & ~(wincap.page_size () - 1));
       ch.guardsize = (&_my_tls != _main_tls && _my_tls.tid)
 		     ? _my_tls.tid->attr.guardsize
 		     : wincap.def_guard_page_size ();


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]