From: Jonathan Rose Date: Fri, 20 Jul 2012 19:36:05 +0000 (+0000) Subject: chan_iax2: Fix a segfault introduced by call ID logging X-Git-Tag: 11.0.0-beta1~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5e10001b29207598a203beb475edbc89a02cc4d;p=thirdparty%2Fasterisk.git chan_iax2: Fix a segfault introduced by call ID logging Didn't previously check that a non NULL IAX channel was stored in the array at the requested position before attempting iax_pvt_callid_get (closes issue ASTERISK-20145) Reported by: Birger "WIMPy" Harzenetter git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370335 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 8efad88c89..70318a14c2 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -10170,7 +10170,7 @@ static int socket_process_helper(struct iax2_thread *thread) if (fr->callno > 0) { struct ast_callid *mount_callid; ast_mutex_lock(&iaxsl[fr->callno]); - if ((mount_callid = iax_pvt_callid_get(fr->callno))) { + if (iaxs[fr->callno] && ((mount_callid = iax_pvt_callid_get(fr->callno)))) { /* Bind to thread */ ast_callid_threadassoc_add(mount_callid); ast_callid_unref(mount_callid);