From d61c315575a45ec4e539d9b7511895b310917e77 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Apr 2014 16:00:00 +0200 Subject: score: Fix for empty heap --- cpukit/score/src/heapgreedy.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cpukit/score/src/heapgreedy.c b/cpukit/score/src/heapgreedy.c index 34ac811951..615d3066cf 100644 --- a/cpukit/score/src/heapgreedy.c +++ b/cpukit/score/src/heapgreedy.c @@ -83,7 +83,12 @@ Heap_Block *_Heap_Greedy_allocate_all_except_largest( Heap_Information info; _Heap_Get_free_information( heap, &info ); - *allocatable_size = info.largest - HEAP_BLOCK_HEADER_SIZE + HEAP_ALLOC_BONUS; + + if ( info.largest > 0 ) { + *allocatable_size = info.largest - HEAP_BLOCK_HEADER_SIZE + HEAP_ALLOC_BONUS; + } else { + *allocatable_size = 0; + } return _Heap_Greedy_allocate( heap, allocatable_size, 1 ); } -- cgit v1.2.3