diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 11:06:48 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 11:06:48 +0000 |
commit | 93c1b73a09a52d4a265f683bf1954b08bb430049 (patch) | |
tree | 5543464d74945196cc890e9d9099e5d0660df7eb /test/asan/TestCases/Linux/pvalloc-overflow.cc | |
parent | 0d8e7490d6e8a13a8f0977d9b7771803b9f64ea0 (diff) |
Notes
Diffstat (limited to 'test/asan/TestCases/Linux/pvalloc-overflow.cc')
-rw-r--r-- | test/asan/TestCases/Linux/pvalloc-overflow.cc | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/test/asan/TestCases/Linux/pvalloc-overflow.cc b/test/asan/TestCases/Linux/pvalloc-overflow.cc deleted file mode 100644 index b47c6266b93b..000000000000 --- a/test/asan/TestCases/Linux/pvalloc-overflow.cc +++ /dev/null @@ -1,41 +0,0 @@ -// RUN: %clangxx_asan %s -o %t -// RUN: ASAN_OPTIONS=allocator_may_return_null=0 not %run %t m1 2>&1 | FileCheck %s -// RUN: ASAN_OPTIONS=allocator_may_return_null=1 %run %t m1 2>&1 -// RUN: ASAN_OPTIONS=allocator_may_return_null=0 not %run %t psm1 2>&1 | FileCheck %s -// RUN: ASAN_OPTIONS=allocator_may_return_null=1 %run %t psm1 2>&1 - -// UNSUPPORTED: freebsd, android - -// Checks that pvalloc overflows are caught. If the allocator is allowed to -// return null, the errno should be set to ENOMEM. - -#include <assert.h> -#include <errno.h> -#include <malloc.h> -#include <stdint.h> -#include <string.h> -#include <unistd.h> - -int main(int argc, char *argv[]) { - void *p; - size_t page_size; - - assert(argc == 2); - - page_size = sysconf(_SC_PAGESIZE); - - if (!strcmp(argv[1], "m1")) { - p = pvalloc((uintptr_t)-1); - assert(!p); - assert(errno == ENOMEM); - } - if (!strcmp(argv[1], "psm1")) { - p = pvalloc((uintptr_t)-(page_size - 1)); - assert(!p); - assert(errno == ENOMEM); - } - - return 0; -} - -// CHECK: AddressSanitizer's allocator is terminating the process |