From: Russell Bryant Date: Fri, 20 Mar 2009 16:53:25 +0000 (+0000) Subject: Fix a crash in IAX2 registration handling found during load testing with dvossel. X-Git-Tag: 1.4.25-rc1~111 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19a67b624c7aa81a1b72ec8f63b3e76fac6ca497;p=thirdparty%2Fasterisk.git Fix a crash in IAX2 registration handling found during load testing with dvossel. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@183559 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index df72a5e4a6..71056e6189 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -5819,15 +5819,20 @@ static int register_verify(int callno, struct sockaddr_in *sin, struct iax_ies * ast_device_state_changed("IAX2/%s", p->name); /* Activate notification */ return_unref: - ast_string_field_set(iaxs[callno], peer, peer); - /* Choose lowest expiry number */ - if (expire && (expire < iaxs[callno]->expiry)) - iaxs[callno]->expiry = expire; + if (iaxs[callno]) { + ast_string_field_set(iaxs[callno], peer, peer); + + /* Choose lowest expiry number */ + if (expire && (expire < iaxs[callno]->expiry)) { + iaxs[callno]->expiry = expire; + } + } res = 0; - if (p) + if (p) { peer_unref(p); + } return res; }