From b44bb288c94b423e1da0a862b60deb0288a71d4a Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Fri, 13 Feb 2015 11:53:06 -0500 Subject: [PATCH] segfault fix --- daemon/call.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/daemon/call.c b/daemon/call.c index 7144ee70a..f386c47fa 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -2800,19 +2800,21 @@ void call_destroy(struct call *c) { atomic64_add(&m->totalstats.total_nopacket_relayed_sess, total_nopacket_relayed_sess / 2); atomic64_add(&m->totalstats_interval.total_nopacket_relayed_sess, total_nopacket_relayed_sess / 2); - ml = c->monologues->data; - if (ml->term_reason==TIMEOUT) { - atomic64_inc(&m->totalstats.total_timeout_sess); - atomic64_inc(&m->totalstats_interval.total_timeout_sess); - } else if (ml->term_reason==SILENT_TIMEOUT) { - atomic64_inc(&m->totalstats.total_silent_timeout_sess); - atomic64_inc(&m->totalstats_interval.total_silent_timeout_sess); - } else if (ml->term_reason==REGULAR) { - atomic64_inc(&m->totalstats.total_regular_term_sess); - atomic64_inc(&m->totalstats_interval.total_regular_term_sess); - } else if (ml->term_reason==FORCED) { - atomic64_inc(&m->totalstats.total_forced_term_sess); - atomic64_inc(&m->totalstats_interval.total_forced_term_sess); + if (c->monologues) { + ml = c->monologues->data; + if (ml->term_reason==TIMEOUT) { + atomic64_inc(&m->totalstats.total_timeout_sess); + atomic64_inc(&m->totalstats_interval.total_timeout_sess); + } else if (ml->term_reason==SILENT_TIMEOUT) { + atomic64_inc(&m->totalstats.total_silent_timeout_sess); + atomic64_inc(&m->totalstats_interval.total_silent_timeout_sess); + } else if (ml->term_reason==REGULAR) { + atomic64_inc(&m->totalstats.total_regular_term_sess); + atomic64_inc(&m->totalstats_interval.total_regular_term_sess); + } else if (ml->term_reason==FORCED) { + atomic64_inc(&m->totalstats.total_forced_term_sess); + atomic64_inc(&m->totalstats_interval.total_forced_term_sess); + } } timeval_totalstats_average_add(&m->totalstats, &tim_result_duration);