1673dc3d4SNico Weber // RUN: %clangxx_asan -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s 2673dc3d4SNico Weber 3673dc3d4SNico Weber // Test the time() interceptor. 4673dc3d4SNico Weber 5673dc3d4SNico Weber // There's no interceptor for time() on Windows yet. 6673dc3d4SNico Weber // XFAIL: windows-msvc 7673dc3d4SNico Weber 8673dc3d4SNico Weber #include <stdio.h> 9673dc3d4SNico Weber #include <stdlib.h> 10673dc3d4SNico Weber #include <time.h> 11673dc3d4SNico Weber main()12673dc3d4SNico Weberint main() { 13673dc3d4SNico Weber time_t *tm = (time_t*)malloc(sizeof(time_t)); 14673dc3d4SNico Weber free(tm); 15673dc3d4SNico Weber time_t t = time(tm); 16*c0fa6322SVitaly Buka printf("Time: %s\n", ctime(&t)); 17673dc3d4SNico Weber // CHECK: use-after-free 18673dc3d4SNico Weber // Regression check for 19673dc3d4SNico Weber // https://code.google.com/p/address-sanitizer/issues/detail?id=321 20673dc3d4SNico Weber // CHECK: SUMMARY 21673dc3d4SNico Weber return 0; 22673dc3d4SNico Weber } 23