aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka@google.com>2019-02-07 22:26:04 +0000
committerVitaly Buka <vitalybuka@google.com>2019-02-07 22:26:04 +0000
commit39af9bd27c3478f9cf073c5560c5eddba97674c8 (patch)
tree6e1262d2a3bbc59735fad99fa531b8fc3e383053
parente35ae8565944d33db2bd3d9b1ad8f012c66863ca (diff)
downloadcompiler-rt-39af9bd27c3478f9cf073c5560c5eddba97674c8.tar.gz
[safestack] Don't crash if stack size is not aligned as expected
Summary: From runtime side looks it's OK to RoundUpTo to needed alignment as buffer is going to be RoundUpTo to page size anyway. Reviewers: eugenis, pcc Subscribers: #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D57866 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@353475 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/safestack/safestack.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/safestack/safestack.cc b/lib/safestack/safestack.cc
index ff840a5c1..3c26d9ae8 100644
--- a/lib/safestack/safestack.cc
+++ b/lib/safestack/safestack.cc
@@ -228,7 +228,7 @@ INTERCEPTOR(int, pthread_create, pthread_t *thread,
}
SFS_CHECK(size);
- SFS_CHECK((size & (kStackAlign - 1)) == 0);
+ size = RoundUpTo(size, kStackAlign);
SFS_CHECK((guard & (pageSize - 1)) == 0);
void *addr = unsafe_stack_alloc(size, guard);