From d657f109d7080bd51ad70e88859acf64931152fe Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Wed, 7 Nov 2018 01:03:26 +0000 Subject: [sanitizer] Only set soft coredump limit. Summary: If user wants to raise it back, let them. Reviewers: kcc, vitalybuka Subscribers: llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D54190 llvm-svn: 346284 --- compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'compiler-rt/lib/sanitizer_common') diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc b/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc index 266e9bdba05..3006e60d89f 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc +++ b/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(&rlim))) { + Report("ERROR: %s getrlimit() failed %d\n", SanitizerToolName, errno); + Die(); + } rlim.rlim_cur = lim; - rlim.rlim_max = lim; if (setrlimit(res, const_cast(&rlim))) { Report("ERROR: %s setrlimit() failed %d\n", SanitizerToolName, errno); Die(); -- cgit v1.2.3