mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 23:54:25 +08:00
posix: Fix POSIX keys initialization
Always initialize the freechain. This prevents a NULL pointer access in case no initial key value pairs are defined.
This commit is contained in:
@@ -112,16 +112,16 @@ static bool _POSIX_Keys_Keypool_extend( Freechain_Control *keypool )
|
||||
|
||||
static void _POSIX_Keys_Initialize_keypool( void )
|
||||
{
|
||||
Freechain_Control *keypool = &_POSIX_Keys_Keypool;
|
||||
size_t initial_count = _POSIX_Keys_Get_initial_keypool_size();
|
||||
size_t size = initial_count * sizeof( POSIX_Keys_Key_value_pair );
|
||||
|
||||
if ( size > 0 ) {
|
||||
Freechain_Control *keypool = &_POSIX_Keys_Keypool;
|
||||
_Freechain_Initialize( keypool, _POSIX_Keys_Keypool_extend );
|
||||
|
||||
if ( initial_count > 0 ) {
|
||||
size_t size = initial_count * sizeof( POSIX_Keys_Key_value_pair );
|
||||
POSIX_Keys_Key_value_pair *nodes =
|
||||
_Workspace_Allocate_or_fatal_error( size );
|
||||
|
||||
_Freechain_Initialize( keypool, _POSIX_Keys_Keypool_extend );
|
||||
|
||||
_Chain_Initialize(
|
||||
&keypool->Freechain,
|
||||
nodes,
|
||||
|
||||
Reference in New Issue
Block a user