summaryrefslogtreecommitdiff
path: root/lib/msan/tests/msan_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/msan/tests/msan_test.cc')
-rw-r--r--lib/msan/tests/msan_test.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/msan/tests/msan_test.cc b/lib/msan/tests/msan_test.cc
index b2d5f7c60..b4cc8493a 100644
--- a/lib/msan/tests/msan_test.cc
+++ b/lib/msan/tests/msan_test.cc
@@ -3449,6 +3449,17 @@ TEST(MemorySanitizer, pvalloc) {
EXPECT_EQ(0U, (uintptr_t)p % PageSize);
EXPECT_EQ(PageSize, __sanitizer_get_allocated_size(p));
free(p);
+
+ // Overflows in pvalloc should be caught.
+ errno = 0;
+ p = pvalloc((uintptr_t)-PageSize);
+ EXPECT_EQ(p, nullptr);
+ EXPECT_EQ(errno, ENOMEM);
+
+ errno = 0;
+ p = pvalloc((uintptr_t)-1);
+ EXPECT_EQ(p, nullptr);
+ EXPECT_EQ(errno, ENOMEM);
}
#endif