summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/malloc.c5
-rw-r--r--tests/lib/malloc-test.c14
2 files changed, 8 insertions, 11 deletions
diff --git a/src/lib/malloc.c b/src/lib/malloc.c
index 052a53e5684b..30298064d9eb 100644
--- a/src/lib/malloc.c
+++ b/src/lib/malloc.c
@@ -44,7 +44,10 @@ void *memalign(size_t boundary, size_t size)
p, free_mem_ptr);
printk(BIOS_ERR, "but free_mem_end_ptr is %p\n",
free_mem_end_ptr);
- die("Error! %s: Out of memory (free_mem_ptr >= free_mem_end_ptr)", __func__);
+ printk(BIOS_ERR, "Error! %s: Out of memory "
+ "(free_mem_ptr >= free_mem_end_ptr)",
+ __func__);
+ return NULL;
}
MALLOCDBG("%s %p\n", __func__, p);
diff --git a/tests/lib/malloc-test.c b/tests/lib/malloc-test.c
index 452d74f88879..f5d528e1c4f5 100644
--- a/tests/lib/malloc-test.c
+++ b/tests/lib/malloc-test.c
@@ -34,11 +34,6 @@ TEST_REGION(test_heap, TEST_HEAP_SZ);
TEST_SYMBOL(_heap, _test_heap);
TEST_SYMBOL(_eheap, _etest_heap);
-void die(const char *msg, ...)
-{
- function_called();
-}
-
static int setup_test(void **state)
{
free_mem_ptr = &_heap;
@@ -56,9 +51,8 @@ static int setup_calloc_test(void **state)
static void test_malloc_out_of_memory(void **state)
{
- /* Expect die() call if out of memory */
- expect_function_call(die);
- cb_malloc(TEST_HEAP_SZ);
+ void *ptr = cb_malloc(TEST_HEAP_SZ);
+ assert_ptr_equal(ptr, NULL);
}
static void test_malloc_zero(void **state)
@@ -102,8 +96,8 @@ static void test_memalign_different_alignments(void **state)
static void test_memalign_out_of_memory(void **state)
{
- expect_function_call(die);
- cb_memalign(16, TEST_HEAP_SZ);
+ void *ptr = cb_memalign(16, TEST_HEAP_SZ);
+ assert_ptr_equal(ptr, NULL);
}
static void test_memalign_zero(void **state)