mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
af3486ecf9
Inadequate locking in the esp_timer component allowed corruption of the s_timers linked list: 1. timer_armed(timer) returns false 2. another task arms the timer and adds it to s_timers 3. the list is locked 4. the timer is inserted into s_timers again The last step results in a loop in the s_timers list, which causes an infinite loop when iterated. This change always locks the list before checking if the timer is already armed avoiding the data race. |
||
---|---|---|
.. | ||
esp_timer_impl_frc_legacy.c | ||
esp_timer_impl_lac.c | ||
esp_timer_impl_systimer.c | ||
esp_timer.c | ||
ets_timer_legacy.c | ||
system_time.c |