diff options
Diffstat (limited to 'cpukit/score/src/objectallocate.c')
-rw-r--r-- | cpukit/score/src/objectallocate.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/cpukit/score/src/objectallocate.c b/cpukit/score/src/objectallocate.c index 9213cf8eb7..ad73884a07 100644 --- a/cpukit/score/src/objectallocate.c +++ b/cpukit/score/src/objectallocate.c @@ -68,13 +68,18 @@ Objects_Control *_Objects_Allocate_unprotected( } if ( the_object != NULL ) { + Objects_Maximum objects_per_block; Objects_Maximum block; + objects_per_block = information->objects_per_block; block = _Objects_Get_index( the_object->id ) - OBJECTS_INDEX_MINIMUM; - block /= information->objects_per_block; - information->inactive_per_block[ block ]--; - information->inactive--; + if ( block > objects_per_block ) { + block /= objects_per_block; + + information->inactive_per_block[ block ]--; + information->inactive--; + } } } |