diff options
Diffstat (limited to 'test/scudo/sized-delete.cpp')
| -rw-r--r-- | test/scudo/sized-delete.cpp | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/test/scudo/sized-delete.cpp b/test/scudo/sized-delete.cpp deleted file mode 100644 index 81151b097481..000000000000 --- a/test/scudo/sized-delete.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// RUN: %clangxx_scudo -fsized-deallocation %s -o %t -// RUN: %env_scudo_opts=DeleteSizeMismatch=1 %run %t gooddel 2>&1 -// RUN: %env_scudo_opts=DeleteSizeMismatch=1 not %run %t baddel 2>&1 | FileCheck %s -// RUN: %env_scudo_opts=DeleteSizeMismatch=0 %run %t baddel 2>&1 -// RUN: %env_scudo_opts=DeleteSizeMismatch=1 %run %t gooddelarr 2>&1 -// RUN: %env_scudo_opts=DeleteSizeMismatch=1 not %run %t baddelarr 2>&1 | FileCheck %s -// RUN: %env_scudo_opts=DeleteSizeMismatch=0 %run %t baddelarr 2>&1 - -// Ensures that the sized delete operator errors out when the appropriate -// option is passed and the sizes do not match between allocation and -// deallocation functions. - -#include <assert.h> -#include <stdlib.h> -#include <string.h> - -#include <new> - -int main(int argc, char **argv) -{ - assert(argc == 2); - if (!strcmp(argv[1], "gooddel")) { - long long *p = new long long; - operator delete(p, sizeof(long long)); - } - if (!strcmp(argv[1], "baddel")) { - long long *p = new long long; - operator delete(p, 2); - } - if (!strcmp(argv[1], "gooddelarr")) { - char *p = new char[64]; - operator delete[](p, 64); - } - if (!strcmp(argv[1], "baddelarr")) { - char *p = new char[63]; - operator delete[](p, 64); - } - return 0; -} - -// CHECK: ERROR: invalid sized delete when deallocating address |
