From 0e75aae563474a15b9202411b2e42a8e466abd8c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 24 Aug 2012 15:56:49 +0200 Subject: score: Use _Workspace_Allocate_or_fatal_error() Use _Workspace_Allocate_or_fatal_error() consistently in case auto extend is turned off. This helps to avoid undefined behaviour in _API_Mutex_Allocate() in case _API_Mutex_Information() fails. --- cpukit/score/src/objectextendinformation.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/cpukit/score/src/objectextendinformation.c b/cpukit/score/src/objectextendinformation.c index c56a8311eb..d94d5cda13 100644 --- a/cpukit/score/src/objectextendinformation.c +++ b/cpukit/score/src/objectextendinformation.c @@ -142,11 +142,14 @@ void _Objects_Extend_information( block_size = block_count * (sizeof(void *) + sizeof(uint32_t) + sizeof(Objects_Name *)) + ((maximum + minimum_index) * sizeof(Objects_Control *)); - object_blocks = (void**) _Workspace_Allocate( block_size ); - - if ( !object_blocks ) { - _Workspace_Free( new_object_block ); - return; + if ( information->auto_extend ) { + object_blocks = _Workspace_Allocate( block_size ); + if ( !object_blocks ) { + _Workspace_Free( new_object_block ); + return; + } + } else { + object_blocks = _Workspace_Allocate_or_fatal_error( block_size ); } /* -- cgit v1.2.3