diff options
author | Kostya Serebryany <kcc@google.com> | 2013-01-25 11:46:22 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2013-01-25 11:46:22 +0000 |
commit | fa79cd65e2a08979c0d76b6f0dec6192161e5611 (patch) | |
tree | 751e282870a97e182c8979a0455b6008e59cf003 /compiler-rt/lib/msan/tests/msan_test.cc | |
parent | 4899fb5cfba666ebfe88c5b817f3b4436f108b25 (diff) | |
download | bcm5719-llvm-fa79cd65e2a08979c0d76b6f0dec6192161e5611.tar.gz bcm5719-llvm-fa79cd65e2a08979c0d76b6f0dec6192161e5611.zip |
[sanitizer] fix calloc overflow in asan/tsan/msan
llvm-svn: 173441
Diffstat (limited to 'compiler-rt/lib/msan/tests/msan_test.cc')
-rw-r--r-- | compiler-rt/lib/msan/tests/msan_test.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc index f65d6f9bff7..09bdf503c18 100644 --- a/compiler-rt/lib/msan/tests/msan_test.cc +++ b/compiler-rt/lib/msan/tests/msan_test.cc @@ -1685,6 +1685,14 @@ NOINLINE void RecursiveMalloc(int depth) { delete x2; } +TEST(MemorySanitizer, CallocOverflow) { + size_t kArraySize = 4096; + volatile size_t kMaxSizeT = std::numeric_limits<size_t>::max(); + volatile size_t kArraySize2 = kMaxSizeT / kArraySize + 10; + void *p = calloc(kArraySize, kArraySize2); // Should return 0. + EXPECT_EQ(0L, Ident(p)); +} + TEST(MemorySanitizerStress, DISABLED_MallocStackTrace) { RecursiveMalloc(22); } |