Browse Source

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
commit
58b566cda6
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      daemon/timerthread.c

+ 4
- 2
daemon/timerthread.c View File

@ -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