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
This commit is contained in:
Kinsey Moore
2011-11-14 15:11:09 +00:00
parent f436a6f27c
commit 818ac23b92

View File

@@ -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);