From 3e6064f9d20fc413a9c9099dd818c8842c4d6911 Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Wed, 23 Oct 2013 13:57:47 +0000 Subject: [sanitizer] Intercept ether_* functions. llvm-svn: 193241 --- compiler-rt/lib/msan/tests/msan_test.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'compiler-rt/lib/msan') 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 #include #include +#include #if defined(__i386__) || defined(__x86_64__) # include @@ -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; -- cgit v1.2.3