summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2012-07-13 13:04:43 +0000
committerKostya Serebryany <kcc@google.com>2012-07-13 13:04:43 +0000
commit38f318bf2022abb11f1eff0da7aa12afe7809998 (patch)
tree83ae32d51101771f478401b8466aee64d1715a45
parent73221f5624ab42b32936a9991f4cb430c96e4ace (diff)
downloadbcm5719-llvm-38f318bf2022abb11f1eff0da7aa12afe7809998.tar.gz
bcm5719-llvm-38f318bf2022abb11f1eff0da7aa12afe7809998.zip
[tsan] use internal_strnlen in strncpy interceptor (the bug found while booting chromium)
llvm-svn: 160171
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_interceptors.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc
index 5dbaf866bee..a962250568b 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc
@@ -476,7 +476,7 @@ TSAN_INTERCEPTOR(char*, strcpy, char *dst, const char *src) { // NOLINT
TSAN_INTERCEPTOR(char*, strncpy, char *dst, char *src, uptr n) {
SCOPED_TSAN_INTERCEPTOR(strncpy, dst, src, n);
- uptr srclen = internal_strlen(src);
+ uptr srclen = internal_strnlen(src, n);
MemoryAccessRange(thr, pc, (uptr)dst, n, true);
MemoryAccessRange(thr, pc, (uptr)src, min(srclen + 1, n), false);
return REAL(strncpy)(dst, src, n);
OpenPOWER on IntegriCloud