// RUN: %clang_scudo %s -o %t // RUN: %run %t 2>&1 // Tests that a regular workflow of allocation, memory fill and free works as // intended. Also tests that a zero-sized allocation succeeds. #include <malloc.h> #include <stdlib.h> #include <string.h> int main(int argc, char **argv) { void *p; size_t size = 1U << 8; p = malloc(size); if (!p) return 1; memset(p, 'A', size); free(p); p = malloc(0); if (!p) return 1; free(p); return 0; }