diff options
-rw-r--r-- | lib/msan/tests/msan_test.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/msan/tests/msan_test.cc b/lib/msan/tests/msan_test.cc index 99be07e59..a3b8d2692 100644 --- a/lib/msan/tests/msan_test.cc +++ b/lib/msan/tests/msan_test.cc @@ -2814,10 +2814,19 @@ TEST(MemorySanitizer, getrlimit) { struct rlimit limit2; __msan_poison(&limit2, sizeof(limit2)); - int result2 = prlimit(getpid(), RLIMIT_DATA, &limit, &limit2); - ASSERT_EQ(result2, 0); + result = prlimit(getpid(), RLIMIT_DATA, &limit, &limit2); + ASSERT_EQ(result, 0); EXPECT_NOT_POISONED(limit2.rlim_cur); EXPECT_NOT_POISONED(limit2.rlim_max); + + __msan_poison(&limit, sizeof(limit)); + result = prlimit(getpid(), RLIMIT_DATA, nullptr, &limit); + ASSERT_EQ(result, 0); + EXPECT_NOT_POISONED(limit.rlim_cur); + EXPECT_NOT_POISONED(limit.rlim_max); + + result = prlimit(getpid(), RLIMIT_DATA, &limit, nullptr); + ASSERT_EQ(result, 0); } TEST(MemorySanitizer, getrusage) { |