From: Jaroslav Kysela Date: Sat, 15 Dec 2018 15:29:27 +0000 (+0100) Subject: tvh thread: do not crash when mutex==NULL (magic check failed), fixes #5435 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efd99b34d4f1dedaa54f1bd357c6f82e6f75d3da;p=thirdparty%2Ftvheadend.git tvh thread: do not crash when mutex==NULL (magic check failed), fixes #5435 --- diff --git a/src/tvh_thread.c b/src/tvh_thread.c index 7840400f7..b46027666 100644 --- a/src/tvh_thread.c +++ b/src/tvh_thread.c @@ -475,9 +475,11 @@ tvh_thread_mutex_failed htsbuf_queue_init(&q, 0); htsbuf_qprintf(&q, "REASON: %s (%s:%d)\n", reason, filename, lineno); - htsbuf_qprintf(&q, "mutex %p locked in: %s:%i (thread %ld)\n", mutex, mutex->filename, mutex->lineno, mutex->tid); - LIST_FOREACH(w, &mutex->waiters, link) - htsbuf_qprintf(&q, "mutex %p waiting in: %s:%i (thread %ld)\n", mutex, w->filename, w->lineno, w->tid); + if (mutex) { + htsbuf_qprintf(&q, "mutex %p locked in: %s:%i (thread %ld)\n", mutex, mutex->filename, mutex->lineno, mutex->tid); + LIST_FOREACH(w, &mutex->waiters, link) + htsbuf_qprintf(&q, "mutex %p waiting in: %s:%i (thread %ld)\n", mutex, w->filename, w->lineno, w->tid); + } TAILQ_FOREACH(m, &thrwatch_mutexes, link) { if (m == mutex) continue; htsbuf_qprintf(&q, "mutex %p other in: %s:%i (thread %ld)\n", m, m->filename, m->lineno, m->tid);