The memory for clock hand was allocated as
sizeof(pool_fsmm_clock_hand)) which is 8 bytes long because the
variable is declared as:
static int *pool_fsmm_clock_hand;
This is plain wrong. The memory size actually needed is only 4 bytes,
which is sizeof(*pool_fsmm_clock_hand)). In other word, the bug
allocated unnecessary 4 bytes, which did nothing bd for the execution
of program. But a bug is a bug.
Per covery report "
1111476 Wrong sizeof argument"
*/
void pool_allocate_fsmm_clock_hand(void)
{
- pool_fsmm_clock_hand = pool_shared_memory_create(sizeof(pool_fsmm_clock_hand));
+ pool_fsmm_clock_hand = pool_shared_memory_create(sizeof(*pool_fsmm_clock_hand));
*pool_fsmm_clock_hand = 0;
}