1// RUN: %clang_scudo %s -o %t
2// RUN: not %run %t pointers 2>&1 | FileCheck %s
3
4// Tests that a non MinAlignment aligned pointer will trigger the associated
5// error on deallocation.
6
7#include <assert.h>
8#include <stdint.h>
9#include <stdlib.h>
10#include <string.h>
11
12int main(int argc, char **argv)
13{
14 assert(argc == 2);
15 if (!strcmp(argv[1], "pointers")) {
16 void *p = malloc(1U << 16);
17 assert(p);
18 free((void *)((uintptr_t)p | 1));
19 }
20 return 0;
21}
22
23// CHECK: ERROR: misaligned pointer when deallocating address
24