diff options
Diffstat (limited to 'compiler-rt/lib/msan/tests/msan_test.cc')
| -rw-r--r-- | compiler-rt/lib/msan/tests/msan_test.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc index 813606ed371..2266cdd0249 100644 --- a/compiler-rt/lib/msan/tests/msan_test.cc +++ b/compiler-rt/lib/msan/tests/msan_test.cc @@ -2064,8 +2064,26 @@ TEST(MemorySanitizer, fcvt) { char *str = fcvt(12345.6789, 10, &a, &b); EXPECT_NOT_POISONED(a); EXPECT_NOT_POISONED(b); + ASSERT_NE(nullptr, str); + EXPECT_NOT_POISONED(str[0]); + ASSERT_NE(0U, strlen(str)); } +TEST(MemorySanitizer, fcvt_long) { + int a, b; + break_optimization(&a); + break_optimization(&b); + EXPECT_POISONED(a); + EXPECT_POISONED(b); + char *str = fcvt(111111112345.6789, 10, &a, &b); + EXPECT_NOT_POISONED(a); + EXPECT_NOT_POISONED(b); + ASSERT_NE(nullptr, str); + EXPECT_NOT_POISONED(str[0]); + ASSERT_NE(0U, strlen(str)); +} + + TEST(MemorySanitizer, memchr) { char x[10]; break_optimization(x); |

