pm: Fix wrong type promotion
In pm_system_suspend there is a possible invalid type promotion in sys_clock_set_timeout(MAX(0, ticks - exit_latency_ticks), true); ticks is int32_t and exit_latency_ticks is uint32_t consequently ticks is promoted to uint32_t resulting in a possible underflow and setting a wrong value in sys_clock_set_timeout(). Fixes #100005 Coverity CID: 535628 Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
This commit is contained in:
committed by
Anas Nashif
parent
53e6b7d543
commit
59a57722ae
@@ -214,7 +214,7 @@ bool pm_system_suspend(int32_t kernel_ticks)
|
||||
* is not passed as the next timeout.
|
||||
*
|
||||
*/
|
||||
sys_clock_set_timeout(MAX(0, ticks - exit_latency_ticks), true);
|
||||
sys_clock_set_timeout(MAX(0, (int64_t)ticks - (int64_t)exit_latency_ticks), true);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user