[asan] don't use strstr/strncat from libc, use our own versions instead
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@147807 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/asan/asan_rtl.cc b/lib/asan/asan_rtl.cc
index 46e7a0d..010b065 100644
--- a/lib/asan/asan_rtl.cc
+++ b/lib/asan/asan_rtl.cc
@@ -24,8 +24,6 @@
#include "asan_thread.h"
#include "asan_thread_registry.h"
-#include <string.h>
-
namespace __asan {
// -------------------------- Flags ------------------------- {{{1
@@ -172,8 +170,9 @@
const char *name_end = real_strchr(frame_descr, ' ');
CHECK(name_end);
buf[0] = 0;
- strncat(buf, frame_descr,
- Min(kBufSize, static_cast<intptr_t>(name_end - frame_descr)));
+ internal_strncat(buf, frame_descr,
+ Min(kBufSize,
+ static_cast<intptr_t>(name_end - frame_descr)));
Printf("Address %p is located at offset %ld "
"in frame <%s> of T%d's stack:\n",
addr, offset, buf, t->tid());
@@ -196,7 +195,7 @@
}
p++;
buf[0] = 0;
- strncat(buf, p, Min(kBufSize, len));
+ internal_strncat(buf, p, Min(kBufSize, len));
p += len;
Printf(" [%ld, %ld) '%s'\n", beg, beg + size, buf);
}
@@ -269,7 +268,7 @@
static int64_t IntFlagValue(const char *flags, const char *flag,
int64_t default_val) {
if (!flags) return default_val;
- const char *str = strstr(flags, flag);
+ const char *str = internal_strstr(flags, flag);
if (!str) return default_val;
return atoll(str + internal_strlen(flag));
}