| // RUN: %clangxx_asan -O0 -fsanitize-address-field-padding=1 %s -o %t |
| // RUN: not %run %t 11 2>&1 | FileCheck %s |
| // REQUIRES: asan-64-bits |
| Foo() : pre1(1), pre2(2), post1(3), post2(4) { |
| void set(int i, int val) { a[i] = val; } |
| // CHECK: ERROR: AddressSanitizer: intra-object-overflow |
| // CHECK: #0 {{.*}}Foo::set{{.*}}intra-object-overflow.cc:[[@LINE-2]] |
| int main(int argc, char **argv) { |
| int idx = argc == 2 ? atoi(argv[1]) : 0; |
| // CHECK: #1 {{.*}}main{{.*}}intra-object-overflow.cc:[[@LINE-1]] |
| // CHECK: is located 84 bytes inside of 128-byte region |