[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));
 }