aboutsummaryrefslogtreecommitdiff
path: root/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-01-22 19:20:24 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-01-22 19:20:24 +0000
commit9c710df9281cb5cffa849396f28c8fe1fc9f1be5 (patch)
tree3451054a07a2086459ee553883b5773d5b5f860f /contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
parent58a7b5d64a70fcdddb5dc4c92e53d9d3abcb5ae6 (diff)
parent0646903fc1f75f6e605754621119473ee083f4a4 (diff)
downloadsrc-9c710df9281cb5cffa849396f28c8fe1fc9f1be5.tar.gz
src-9c710df9281cb5cffa849396f28c8fe1fc9f1be5.zip
Merge compiler-rt trunk r351319, and resolve conflicts.
Notes
Notes: svn path=/projects/clang800-import/; revision=343311
Diffstat (limited to 'contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc')
-rw-r--r--contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc b/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
index 266e9bdba051..3006e60d89f3 100644
--- a/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
+++ b/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
@@ -94,10 +94,12 @@ static rlim_t getlim(int res) {
}
static void setlim(int res, rlim_t lim) {
- // The following magic is to prevent clang from replacing it with memset.
- volatile struct rlimit rlim;
+ struct rlimit rlim;
+ if (getrlimit(res, const_cast<struct rlimit *>(&rlim))) {
+ Report("ERROR: %s getrlimit() failed %d\n", SanitizerToolName, errno);
+ Die();
+ }
rlim.rlim_cur = lim;
- rlim.rlim_max = lim;
if (setrlimit(res, const_cast<struct rlimit *>(&rlim))) {
Report("ERROR: %s setrlimit() failed %d\n", SanitizerToolName, errno);
Die();