app_voicemail/IMAP: check mailstream not NULL in leave_voicemail

The function leave_voicemail checks if expungeonhangup is set,
but does not check if IMAP stream is closed,
so it could call imap function with NULL stream.
This leads to segfault.

ASTERISK-28505 #close

Change-Id: Ib66c57c1f1ba97774e447b36349198e2626a8d7c
This commit is contained in:
Alexei Gradinari 2019-08-14 15:52:01 -04:00
parent 8399211eaf
commit ff180a5bfc
1 changed files with 1 additions and 1 deletions

View File

@ -7247,7 +7247,7 @@ leave_vm_out:
#ifdef IMAP_STORAGE
/* expunge message - use UID Expunge if supported on IMAP server*/
ast_debug(3, "*** Checking if we can expunge, expungeonhangup set to %d\n", expungeonhangup);
if (expungeonhangup == 1) {
if (expungeonhangup == 1 && vms->mailstream != NULL) {
ast_mutex_lock(&vms->lock);
#ifdef HAVE_IMAP_TK2006
if (LEVELUIDPLUS (vms->mailstream)) {