summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib
diff options
context:
space:
mode:
authorKamil Rytarowski <n54@gmx.com>2018-02-15 02:48:20 +0000
committerKamil Rytarowski <n54@gmx.com>2018-02-15 02:48:20 +0000
commit443434e45ce3065024e4895f8dbad5fcae247971 (patch)
treeffbef6d7be553d5fb7d9cec7a6fd08dfa3237888 /compiler-rt/lib
parenta8ab3a60087dde285386021e310fb329e02288ed (diff)
downloadbcm5719-llvm-443434e45ce3065024e4895f8dbad5fcae247971.tar.gz
bcm5719-llvm-443434e45ce3065024e4895f8dbad5fcae247971.zip
Prevent recursive MSan interceptors in strftime(3) like functions
Summary: This corrects intercepting this call on NetBSD without false positives. Sponsored by <The NetBSD Foundation> Reviewers: joerg, eugenis, vitalybuka Reviewed By: vitalybuka Subscribers: llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D42883 llvm-svn: 325208
Diffstat (limited to 'compiler-rt/lib')
-rw-r--r--compiler-rt/lib/msan/msan_interceptors.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler-rt/lib/msan/msan_interceptors.cc b/compiler-rt/lib/msan/msan_interceptors.cc
index c99fb9562f5..43a2bdcf65b 100644
--- a/compiler-rt/lib/msan/msan_interceptors.cc
+++ b/compiler-rt/lib/msan/msan_interceptors.cc
@@ -514,6 +514,7 @@ INTERCEPTOR(SIZE_T, __strxfrm_l, char *dest, const char *src, SIZE_T n,
#define INTERCEPTOR_STRFTIME_BODY(char_type, ret_type, func, s, ...) \
ENSURE_MSAN_INITED(); \
+ InterceptorScope interceptor_scope; \
ret_type res = REAL(func)(s, __VA_ARGS__); \
if (s) __msan_unpoison(s, sizeof(char_type) * (res + 1)); \
return res;
OpenPOWER on IntegriCloud