diff options
author | Vitaly Buka <vitalybuka@google.com> | 2019-02-07 22:26:04 +0000 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2019-02-07 22:26:04 +0000 |
commit | 39af9bd27c3478f9cf073c5560c5eddba97674c8 (patch) | |
tree | 6e1262d2a3bbc59735fad99fa531b8fc3e383053 | |
parent | e35ae8565944d33db2bd3d9b1ad8f012c66863ca (diff) | |
download | compiler-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.cc | 2 |
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); |