1// RUN: %clangxx_asan -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s
2
3// Test the time() interceptor.
4
5// FIXME: There's no interceptor for time() on Windows yet.
6// XFAIL: target={{.*windows-(msvc.*|gnu)}}
7
8#include <stdio.h>
9#include <stdlib.h>
10#include <time.h>
11
12int main() {
13 time_t *tm = (time_t*)malloc(size: sizeof(time_t));
14 free(ptr: tm);
15 time_t t = time(timer: tm);
16 printf(format: "Time: %s\n", ctime(timer: &t));
17 // CHECK: use-after-free
18 // Regression check for
19 // https://code.google.com/p/address-sanitizer/issues/detail?id=321
20 // CHECK: SUMMARY
21 return 0;
22}
23

source code of compiler-rt/test/asan/TestCases/time_interceptor.cpp