TT#14008 call the free func only if set

This avoids possible segfault by calling 0x0

Change-Id: Ib45c19d8cf785887cc20f8a07cf30bea270c85e1
rfuchs/1283
Richard Fuchs 5 years ago
parent 50834df3ca
commit 58b566cda6

@ -142,7 +142,8 @@ void timerthread_queue_run(void *ptr) {
static int ttqe_free_all(void *k, void *v, void *d) { static int ttqe_free_all(void *k, void *v, void *d) {
struct timerthread_queue *ttq = d; struct timerthread_queue *ttq = d;
ttq->entry_free_func(k); if (ttq->entry_free_func)
ttq->entry_free_func(k);
return FALSE; return FALSE;
} }
@ -266,7 +267,8 @@ unsigned int timerthread_queue_flush(struct timerthread_queue *ttq, void *ptr) {
while (matches.length) { while (matches.length) {
struct timerthread_queue_entry *ttqe = g_queue_pop_head(&matches); struct timerthread_queue_entry *ttqe = g_queue_pop_head(&matches);
g_tree_remove(ttq->entries, ttqe); g_tree_remove(ttq->entries, ttqe);
ttq->entry_free_func(ttqe); if (ttq->entry_free_func)
ttq->entry_free_func(ttqe);
num++; num++;
} }

Loading…
Cancel
Save