fix(openthread): fix openthread alarm timer calculation remaining_us overflow issue

pull/13294/head
xiaqilin 2024-02-21 15:09:36 +08:00
rodzic 28ff8e3788
commit 4d7e86eeb6
1 zmienionych plików z 2 dodań i 2 usunięć

Wyświetl plik

@ -101,8 +101,8 @@ void esp_openthread_alarm_deinit(void)
void esp_openthread_alarm_update(esp_openthread_mainloop_context_t *mainloop)
{
struct timeval *timeout = &mainloop->timeout;
int32_t remain_min_time_us = INT32_MAX;
int32_t remaining_us = 0;
int64_t remain_min_time_us = INT64_MAX;
int64_t remaining_us = 0;
if (s_is_ms_running) {
remaining_us = calculate_duration(s_alarm_ms, otPlatAlarmMilliGetNow()) * US_PER_MS;
if (remain_min_time_us > remaining_us) {