diff options
author | David Carlier <devnexen@gmail.com> | 2019-01-10 04:19:30 +0000 |
---|---|---|
committer | David Carlier <devnexen@gmail.com> | 2019-01-10 04:19:30 +0000 |
commit | c1ba1eec69c9b72c8dad6a394bf14559a2360593 (patch) | |
tree | d2b4e6e5ff1be5d63e936f16a6f2bf4bd7e119ed /compiler-rt/lib | |
parent | fdd4999b869347a37d076151823ad6f8772e4557 (diff) | |
download | bcm5719-llvm-c1ba1eec69c9b72c8dad6a394bf14559a2360593.tar.gz bcm5719-llvm-c1ba1eec69c9b72c8dad6a394bf14559a2360593.zip |
i[Sanitizer] Enable pututxline interception
Reviewers: krytarowski
Reviewed By: krytarowski
Differential Revision: https://reviews.llvm.org/D56495
llvm-svn: 350796
Diffstat (limited to 'compiler-rt/lib')
-rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc index 11238971cf1..21aa4a6749a 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc @@ -95,6 +95,7 @@ #define getutxent __getutxent50 #define getutxid __getutxid50 #define getutxline __getutxline50 +#define pututxline __pututxline50 #define glob __glob30 #define gmtime __gmtime50 #define gmtime_r __gmtime_r50 @@ -6566,10 +6567,21 @@ INTERCEPTOR(void *, getutxline, void *ut) { COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmpx_sz); return res; } +INTERCEPTOR(void *, pututxline, const void *ut) { + void *ctx; + COMMON_INTERCEPTOR_ENTER(ctx, pututxline, ut); + if (ut) + COMMON_INTERCEPTOR_READ_RANGE(ctx, ut, __sanitizer::struct_utmpx_sz); + void *res = REAL(pututxline)(ut); + if (res) + COMMON_INTERCEPTOR_WRITE_RANGE(ctx, res, __sanitizer::struct_utmpx_sz); + return res; +} #define INIT_UTMPX \ COMMON_INTERCEPT_FUNCTION(getutxent); \ COMMON_INTERCEPT_FUNCTION(getutxid); \ - COMMON_INTERCEPT_FUNCTION(getutxline); + COMMON_INTERCEPT_FUNCTION(getutxline); \ + COMMON_INTERCEPT_FUNCTION(pututxline); #else #define INIT_UTMPX #endif |