Mercurial > hg > CbC > CbC_llvm
view compiler-rt/test/scudo/double-free.cpp @ 222:81f6424ef0e3 llvm-original
LLVM original branch
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 18 Jul 2021 22:10:01 +0900 (2021-07-18) |
parents | 79ff65ed7e25 |
children |
line wrap: on
line source
// RUN: %clangxx_scudo %s -o %t // RUN: not %run %t malloc 2>&1 | FileCheck %s // RUN: not %run %t new 2>&1 | FileCheck %s // RUN: not %run %t newarray 2>&1 | FileCheck %s // Tests double-free error on pointers allocated with different allocation // functions. #include <assert.h> #include <stdlib.h> #include <string.h> int main(int argc, char **argv) { assert(argc == 2); if (!strcmp(argv[1], "malloc")) { void *p = malloc(sizeof(int)); assert(p); free(p); free(p); } if (!strcmp(argv[1], "new")) { int *p = new int; assert(p); delete p; delete p; } if (!strcmp(argv[1], "newarray")) { int *p = new int[8]; assert(p); delete[] p; delete[] p; } return 0; } // CHECK: ERROR: invalid chunk state