From f169b513d2830d14dfff85ca17cc59d4c438ddd1 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 20 Dec 2022 15:11:25 +0100 Subject: score: Fix _Processor_mask_To_uint32_t() Correctly calculate the array index and shift value in _Processor_mask_To_uint32_t(). The bugs had no impact yet since this function was always called with a zero value for the index in RTEMS. --- cpukit/include/rtems/score/processormask.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpukit/include/rtems/score/processormask.h b/cpukit/include/rtems/score/processormask.h index bcdc1c471e..7ad6ea6edb 100644 --- a/cpukit/include/rtems/score/processormask.h +++ b/cpukit/include/rtems/score/processormask.h @@ -353,9 +353,9 @@ static inline uint32_t _Processor_mask_To_uint32_t( uint32_t index ) { - long bits = mask->__bits[ __bitset_words( index ) ]; + long bits = mask->__bits[ index / _BITSET_BITS ]; - return (uint32_t) (bits >> (32 * (index % _BITSET_BITS) / 32)); + return (uint32_t) ( bits >> ( 32 * ( ( index % _BITSET_BITS ) / 32 ) ) ); } /** -- cgit v1.2.3