diff options
author | Elliott Hughes <enh@google.com> | 2016-02-11 17:53:04 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-02-11 17:53:04 +0000 |
commit | 72bca4b4105e24058f3f2eca024382bedb122a30 (patch) | |
tree | ebd6b34509a2198628aa5a25b76a8ff4af4c2804 /tests/malloc_test.cpp | |
parent | 8fa00a5836b49bbacfd08151edb039ed7c6db21d (diff) | |
parent | 884f76e3aa081740f7cfe582b11af7446bf77bd9 (diff) |
Merge "Add tests for zero-sized allocations."
Diffstat (limited to 'tests/malloc_test.cpp')
-rw-r--r-- | tests/malloc_test.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/malloc_test.cpp b/tests/malloc_test.cpp index 5af5a6fb5..d3a9d01e4 100644 --- a/tests/malloc_test.cpp +++ b/tests/malloc_test.cpp @@ -391,3 +391,42 @@ TEST(malloc, calloc_usable_size) { free(zero_mem); } } + +TEST(malloc, malloc_0) { + void* p = malloc(0); + ASSERT_TRUE(p != nullptr); + free(p); +} + +TEST(malloc, calloc_0_0) { + void* p = calloc(0, 0); + ASSERT_TRUE(p != nullptr); + free(p); +} + +TEST(malloc, calloc_0_1) { + void* p = calloc(0, 1); + ASSERT_TRUE(p != nullptr); + free(p); +} + +TEST(malloc, calloc_1_0) { + void* p = calloc(1, 0); + ASSERT_TRUE(p != nullptr); + free(p); +} + +TEST(malloc, realloc_nullptr_0) { + // realloc(nullptr, size) is actually malloc(size). + void* p = realloc(nullptr, 0); + ASSERT_TRUE(p != nullptr); + free(p); +} + +TEST(malloc, realloc_0) { + void* p = malloc(1024); + ASSERT_TRUE(p != nullptr); + // realloc(p, 0) is actually free(p). + void* p2 = realloc(p, 0); + ASSERT_TRUE(p2 == nullptr); +} |