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> 9char *g; 10 11static const int kNumAllocs = 1 << 11; 12static const int kAllocSize = 1 << 20; 13 14int 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