commit 40dd48d10911f4ff9b8dfbf16428fbc9acc434ba Author: Riza Sulistyo Date: Thu Jul 9 17:47:24 2020 +0700 Modify timer_id check on cancel() (#2463) * modify timer_id check on cancel(). * modification based on comments. --- a/pjlib/include/pj/timer.h +++ b/pjlib/include/pj/timer.h @@ -120,7 +120,10 @@ typedef struct pj_timer_entry /** * Internal unique timer ID, which is assigned by the timer heap. - * Application should not touch this ID. + * Positive values indicate that the timer entry is running, + * while -1 means that it's not. Any other value may indicate that it + * hasn't been properly initialised or is in a bad state. + * Application should not touch this ID. */ pj_timer_id_t _timer_id; --- a/pjlib/src/pj/timer.c +++ b/pjlib/src/pj/timer.c @@ -535,7 +535,7 @@ static int cancel( pj_timer_heap_t *ht, PJ_CHECK_STACK(); // Check to see if the timer_id is out of range - if (entry->_timer_id < 0 || (pj_size_t)entry->_timer_id > ht->max_size) { + if (entry->_timer_id < 1 || (pj_size_t)entry->_timer_id >= ht->max_size) { entry->_timer_id = -1; return 0; }