app_voicemail: Fix crash with IMAP backends when greetings aren't present
authorMatthew Jordan <mjordan@digium.com>
Tue, 10 Mar 2015 18:13:27 +0000 (18:13 +0000)
committerMatthew Jordan <mjordan@digium.com>
Tue, 10 Mar 2015 18:13:27 +0000 (18:13 +0000)
commitab6e2c93f311117ab726a8b7695325ce30882c50
treeac4a968b43e0379be6ba716186c8f31fb8123c6b
parent79e9b37ad01c89440b1248551d9134aa14ef3b1b
app_voicemail: Fix crash with IMAP backends when greetings aren't present

When an IMAP backend is in use and greetings are set to be used, but aren't
present for a user in their IMAP folder, Asterisk will crash. This occurs
due to the mailstream being set to the 'greetings' folder and being left
in that particular state, regardless of the success/failure of the attempt
to access the folder the mailstream points to. Later access of the mailstream
assumes that it points to the 'INBOX' (or some other folder), resulting in
either a crash (if the greetings folder didn't exist and the mailstream is
invalid) or an inability to read messages from the 'INBOX' folder.

This patch restores the mailstream to its correct state after accessing the
greetings. This fixes the crash, and sets the mailstream to the state that
VoiceMailMain expects.

Note that while ASTERISK-23390 also contained a patch for this issue, the
patch on ASTERISK-24786 is the one being merged here.

Review: https://reviewboard.asterisk.org/r/4459/

ASTERISK-23390 #close
Reported by: Ben Smithurst

ASTERISK-24786 #close
Reported by: Graham Barnett
Tested by: Graham Barnett
patches:
  app_voicemail.c.patch.SIGSEGV3rev2 uploaded by Graham Barnett (License 6685)
........

Merged revisions 432695 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 432696 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_voicemail.c