summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/msan
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-10-23 13:57:47 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-10-23 13:57:47 +0000
commit3e6064f9d20fc413a9c9099dd818c8842c4d6911 (patch)
tree7dbcb6df4b80e577f55391fbc5d2370d4f3b1bf9 /compiler-rt/lib/msan
parentbe8681b4612f4a85ce2c1c14231122ad922268e1 (diff)
downloadbcm5719-llvm-3e6064f9d20fc413a9c9099dd818c8842c4d6911.tar.gz
bcm5719-llvm-3e6064f9d20fc413a9c9099dd818c8842c4d6911.zip
[sanitizer] Intercept ether_* functions.
llvm-svn: 193241
Diffstat (limited to 'compiler-rt/lib/msan')
-rw-r--r--compiler-rt/lib/msan/tests/msan_test.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc
index 0d3fd2a5ecd..fcb5fc81ac9 100644
--- a/compiler-rt/lib/msan/tests/msan_test.cc
+++ b/compiler-rt/lib/msan/tests/msan_test.cc
@@ -52,6 +52,7 @@
#include <netdb.h>
#include <wordexp.h>
#include <mntent.h>
+#include <netinet/ether.h>
#if defined(__i386__) || defined(__x86_64__)
# include <emmintrin.h>
@@ -1668,6 +1669,25 @@ TEST(MemorySanitizer, getmntent_r) {
fclose(fp);
}
+TEST(MemorySanitizer, ether) {
+ const char *asc = "11:22:33:44:55:66";
+ struct ether_addr *paddr = ether_aton(asc);
+ EXPECT_NOT_POISONED(*paddr);
+
+ struct ether_addr addr;
+ paddr = ether_aton_r(asc, &addr);
+ ASSERT_EQ(paddr, &addr);
+ EXPECT_NOT_POISONED(addr);
+
+ char *s = ether_ntoa(&addr);
+ ASSERT_NE(0, strlen(s));
+
+ char buf[100];
+ s = ether_ntoa_r(&addr, buf);
+ ASSERT_EQ(s, buf);
+ ASSERT_NE(0, strlen(buf));
+}
+
TEST(MemorySanitizer, mmap) {
const int size = 4096;
void *p1, *p2;
OpenPOWER on IntegriCloud