From ea61d08185b8c143d8bb6f625d8c4ed8035c8bd5 Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Tue, 19 Feb 2013 09:19:16 +0000 Subject: [sanitizer] Add interceptors for localtime and friends. llvm-svn: 175499 --- compiler-rt/lib/msan/tests/msan_test.cc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'compiler-rt/lib/msan/tests/msan_test.cc') diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc index 7fa6cd2c47f..b30a8dffd79 100644 --- a/compiler-rt/lib/msan/tests/msan_test.cc +++ b/compiler-rt/lib/msan/tests/msan_test.cc @@ -807,6 +807,27 @@ TEST(MemorySanitizer, gettimeofday) { EXPECT_NOT_POISONED(tz.tz_dsttime); } +TEST(MemorySanitizer, localtime) { + time_t t = 123; + struct tm *time = localtime(&t); + assert(time != 0); + EXPECT_NOT_POISONED(time->tm_sec); + EXPECT_NOT_POISONED(time->tm_hour); + EXPECT_NOT_POISONED(time->tm_year); + EXPECT_NOT_POISONED(time->tm_isdst); +} + +TEST(MemorySanitizer, localtime_r) { + time_t t = 123; + struct tm time; + struct tm *res = localtime_r(&t, &time); + assert(res != 0); + EXPECT_NOT_POISONED(time.tm_sec); + EXPECT_NOT_POISONED(time.tm_hour); + EXPECT_NOT_POISONED(time.tm_year); + EXPECT_NOT_POISONED(time.tm_isdst); +} + TEST(MemorySanitizer, mmap) { const int size = 4096; void *p1, *p2; -- cgit v1.2.3