summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorGrissiom <[email protected]>2013-12-18 22:03:55 +0800
committerGrissiom <[email protected]>2013-12-18 22:03:55 +0800
commita7c4d07fb7d55f348dba8acf8dff5ca243cd090d (patch)
treedcd59832dea361813df0a10480772bdfb4a1c6b0 /examples
parentc6c6b5ef74fa3af437c5a3df7ff16ee4f0f41093 (diff)
TC: heap_realloc: check for realloc(ptr, 0)
Diffstat (limited to 'examples')
-rw-r--r--examples/kernel/heap_realloc.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/examples/kernel/heap_realloc.c b/examples/kernel/heap_realloc.c
index a4974d5bf3..0f3ec95916 100644
--- a/examples/kernel/heap_realloc.c
+++ b/examples/kernel/heap_realloc.c
@@ -20,6 +20,7 @@ static rt_bool_t mem_check(rt_uint8_t *ptr, rt_uint8_t value, rt_uint32_t len)
static void heap_realloc_init()
{
+ rt_uint8_t res = TC_STAT_PASSED;
rt_uint8_t *ptr1, *ptr2, *ptr3, *ptr4, *ptr5;
ptr1 = rt_malloc(1);
@@ -43,6 +44,11 @@ static void heap_realloc_init()
ptr3 = rt_realloc(ptr3, 127);
ptr4 = rt_realloc(ptr4, 1);
ptr5 = rt_realloc(ptr5, 0);
+ if (ptr5)
+ {
+ rt_kprintf("realloc(ptr, 0) should return NULL\n");
+ res = TC_STAT_FAILED;
+ }
if (mem_check(ptr1, 1, 1) != RT_FALSE) goto _failed;
if (mem_check(ptr2, 2, 13) != RT_FALSE) goto _failed;
@@ -54,15 +60,7 @@ static void heap_realloc_init()
rt_free(ptr3);
rt_free(ptr1);
- if (ptr5 != RT_NULL)
- {
- rt_free(ptr5);
- }
-
- tc_done(TC_STAT_PASSED);
-
-_failed:
- tc_done(TC_STAT_FAILED);
+ tc_done(res);
}
#ifdef RT_USING_TC