1 // Test quarantine_size_mb (and the deprecated quarantine_size) 2 // RUN: %clangxx_asan %s -o %t 3 // RUN: %env_asan_opts=quarantine_size=10485760:verbosity=1:hard_rss_limit_mb=50 %run %t 2>&1 | FileCheck %s --check-prefix=Q10 4 // RUN: %env_asan_opts=quarantine_size_mb=10:verbosity=1:hard_rss_limit_mb=50 %run %t 2>&1 | FileCheck %s --check-prefix=Q10 5 // RUN: %env_asan_opts=quarantine_size_mb=10:quarantine_size=20:verbosity=1 not %run %t 2>&1 | FileCheck %s --check-prefix=BOTH 6 // RUN: %env_asan_opts=quarantine_size_mb=1000:hard_rss_limit_mb=50 not %run %t 2>&1 | FileCheck %s --check-prefix=RSS_LIMIT 7 // RUN: %env_asan_opts=hard_rss_limit_mb=50 not %run %t 2>&1 | FileCheck %s --check-prefix=RSS_LIMIT 8 #include <string.h> 9 char *g; 10 11 static const int kNumAllocs = 1 << 11; 12 static const int kAllocSize = 1 << 20; 13 14 int main() { 15 for (int i = 0; i < kNumAllocs; i++) { 16 g = new char[kAllocSize]; 17 memset(g, -1, kAllocSize); 18 delete [] (g); 19 } 20 } 21 22 // Q10: quarantine_size_mb=10M 23 // BOTH: please use either 'quarantine_size' (deprecated) or quarantine_size_mb, but not both 24 // RSS_LIMIT: AddressSanitizer: hard rss limit exhausted 25