From: Kinsey Moore Date: Mon, 14 Nov 2011 15:10:38 +0000 (+0000) Subject: Ensure that a null vmexten does not cause a segfault X-Git-Tag: 10.1.0-rc1~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f9ec7e4cbfa937da93d60f2808e1e35499db6d7;p=thirdparty%2Fasterisk.git Ensure that a null vmexten does not cause a segfault When sip_send_mwi_to_peer was modified recently to avoid deadlocks, vmexten was not expected to be null. This change handles that situation to avoid a segfault. ........ Merged revisions 345063 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@345064 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 61bd672830..92ce5a6caa 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -25952,11 +25952,13 @@ static int sip_send_mwi_to_peer(struct sip_peer *peer, int cache_only) /* Called with peerl lock, but releases it */ struct sip_pvt *p; int newmsgs = 0, oldmsgs = 0; - const char *vmexten; + const char *vmexten = NULL; ao2_lock(peer); - vmexten = ast_strdupa(peer->vmexten); + if (peer->vmexten) { + vmexten = ast_strdupa(peer->vmexten); + } if (ast_test_flag((&peer->flags[1]), SIP_PAGE2_SUBSCRIBEMWIONLY) && !peer->mwipvt) { ao2_unlock(peer);