From 818ac23b928497b2550127d7743bd9d362c5a8c4 Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Mon, 14 Nov 2011 15:11:09 +0000 Subject: 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 ........ Merged revisions 345064 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345065 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 8d531c4a9..fa6b6ea4c 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -26001,11 +26001,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); -- cgit v1.2.3