diff options
| author | Kostya Serebryany <kcc@google.com> | 2012-07-13 13:04:43 +0000 |
|---|---|---|
| committer | Kostya Serebryany <kcc@google.com> | 2012-07-13 13:04:43 +0000 |
| commit | 38f318bf2022abb11f1eff0da7aa12afe7809998 (patch) | |
| tree | 83ae32d51101771f478401b8466aee64d1715a45 | |
| parent | 73221f5624ab42b32936a9991f4cb430c96e4ace (diff) | |
| download | bcm5719-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.cc | 2 |
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); |

