// Test that initially callocked memory is properly freed
// (see https://github.com/google/sanitizers/issues/626).
// 
// RUN: %clang %s -o %t
// RUN: env LD_PRELOAD=%shared_libasan %run %t
//
// REQUIRES: asan-dynamic-runtime
//
// This way of setting LD_PRELOAD does not work with Android test runner.
// REQUIRES: not-android

#include <stdio.h>
#include <stdlib.h>

static void *ptr;

// This constructor will run before __asan_init
// so calloc will allocate memory from special pool.
static void init() {
  ptr = calloc(10, 1);
}

__attribute__((section(".preinit_array"), used))
void *dummy = init;

void free_memory() {
  // This used to abort because
  // Asan's free didn't recognize ptr.
  free(ptr);
}

int main() {
  free_memory();
  return 0;
}

