summaryrefslogtreecommitdiffstats
path: root/compiler-rt
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2012-07-27 07:09:49 +0000
committerKostya Serebryany <kcc@google.com>2012-07-27 07:09:49 +0000
commit4c38790f70d84313c6cb17af99ef2f9462f71c17 (patch)
treeab480e00f41ccbcbb4de92c9585c5ac5db355e4c /compiler-rt
parentb63501397ba1246bb3669a1aed4ea2aaf2a271f3 (diff)
downloadbcm5719-llvm-4c38790f70d84313c6cb17af99ef2f9462f71c17.tar.gz
bcm5719-llvm-4c38790f70d84313c6cb17af99ef2f9462f71c17.zip
[asan] ensure that asan_init is called in str[n]cmp. Bug found by Nick Kralevich (thanks)
llvm-svn: 160853
Diffstat (limited to 'compiler-rt')
-rw-r--r--compiler-rt/lib/asan/asan_interceptors.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler-rt/lib/asan/asan_interceptors.cc b/compiler-rt/lib/asan/asan_interceptors.cc
index 29cc15f5868..2ce5826e149 100644
--- a/compiler-rt/lib/asan/asan_interceptors.cc
+++ b/compiler-rt/lib/asan/asan_interceptors.cc
@@ -423,6 +423,7 @@ INTERCEPTOR(int, strcmp, const char *s1, const char *s2) {
if (!asan_inited) {
return internal_strcmp(s1, s2);
}
+ ENSURE_ASAN_INITED();
unsigned char c1, c2;
uptr i;
for (i = 0; ; i++) {
@@ -494,6 +495,7 @@ INTERCEPTOR(int, strncmp, const char *s1, const char *s2, uptr size) {
if (asan_init_is_running) {
return REAL(strncmp)(s1, s2, size);
}
+ ENSURE_ASAN_INITED();
unsigned char c1 = 0, c2 = 0;
uptr i;
for (i = 0; i < size; i++) {
OpenPOWER on IntegriCloud