You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
997 B
32 lines
997 B
4 months ago
|
// RUN: %clangxx_asan %s -o %t
|
||
|
// RUN: %env_asan_opts=print_module_map=1 not %run %t 2>&1 | FileCheck %s
|
||
|
// RUN: %env_asan_opts=print_module_map=2 not %run %t 2>&1 | FileCheck %s
|
||
|
// RUN: %clangxx_asan %s -o %t -fsanitize-recover=address
|
||
|
// RUN: %env_asan_opts=print_module_map=2:halt_on_error=0 %run %t 2>&1 | FileCheck %s
|
||
|
|
||
|
// We can't run system("otool") in the simulator.
|
||
|
// UNSUPPORTED: ios
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
int main(int argc, char *argv[]) {
|
||
|
char buf[2048];
|
||
|
snprintf(buf, sizeof(buf), "otool -l %s 1>&2", argv[0]);
|
||
|
system(buf);
|
||
|
// CHECK: cmd LC_UUID
|
||
|
// CHECK-NEXT: cmdsize 24
|
||
|
// CHECK-NEXT: uuid [[UUID:[0-9A-F-]{36}]]
|
||
|
|
||
|
char *x = (char*)malloc(10 * sizeof(char));
|
||
|
free(x);
|
||
|
char mybuf[10];
|
||
|
memcpy(mybuf, x, 10);
|
||
|
// CHECK: {{.*ERROR: AddressSanitizer: heap-use-after-free on address}}
|
||
|
// CHECK: Process module map:
|
||
|
// CHECK: uuid.cpp.tmp {{.*}} <[[UUID]]>
|
||
|
|
||
|
fprintf(stderr, "Done.\n");
|
||
|
}
|