Theodore Dubois
930e0cccc1
Fix UAF with timer setting and freeing
...
Thread A creates a timer and sets it
Thread B starts to handle the timer and begins to nanosleep
Thread A cancels the timer and immediately frees it
Thread B wakes up and still has a pointer to the freed timer
2020-06-27 01:00:03 -07:00
Theodore Dubois
8ff84f2ae3
Handle different clock IDs in timerfd_create
...
Also handle TFD_TIMER_ABSTIME in timerfd_settime.
Fix #591
2020-01-03 20:13:17 -08:00
Theodore Dubois
ecd2e947ed
Stop timers from spinning after they've been freed
2019-12-21 20:06:53 -08:00
Theodore Dubois
051d7a2e25
Really fix UAF when destroying a timer
2019-01-08 09:24:46 -05:00
Theodore Dubois
29c2755f2f
Fix UAF when destroying a timer
2019-01-06 09:20:14 -08:00
Theodore Dubois
6dca791a13
Fix memory leak of timers
2018-12-31 17:30:10 -08:00
Theodore Dubois
8a63e1c9fb
Don’t call the timer callback if the timer isn’t running
2018-11-12 10:52:59 -08:00
Theodore Dubois
fa75b91382
Fix one-shot timers
2018-11-12 10:10:55 -08:00
Theodore Dubois
b92789385b
Fix race conditions in timer
2018-01-14 18:46:41 -08:00
Theodore Dubois
77f9c73be9
Remove magic from locking macros
2018-01-14 18:18:12 -08:00
Theodore Dubois
5d2fdd3e18
Reduce magic in locking macros
2017-12-19 22:48:43 -08:00
Theodore Dubois
da7d1a6a82
Detach threads after creating them, unlock mutexes before freeing them
2017-12-18 16:27:49 -08:00
Theodore Dubois
3c15e79178
Add locking to timer
2017-12-17 20:05:59 -08:00
Theodore Dubois
5bfda67bd1
Make the timer actually fire
2017-10-16 14:06:57 -07:00
Theodore Dubois
a08a34a62f
Implement thread-based timer architecture
2017-10-14 15:57:12 -07:00