app_voicemail: Clear voice mailbox in MailboxExists and MAILBOX_EXISTS.

When executing the MailboxExists dialplan application and
MAILBOX_EXISTS dialplan function the passed in temporary voice
mailbox was not cleared, causing it to try to free garbage.

ASTERISK-26503 #close

Change-Id: Ie21ccfa1b80b9c59318e596f6b8e17da2b5a7cb3
This commit is contained in:
Joshua Colp
2016-10-26 12:51:50 +00:00
parent 7c79b057dd
commit 95062fe220

View File

@@ -12529,6 +12529,7 @@ static int vm_box_exists(struct ast_channel *chan, const char *data)
context++;
}
memset(&svm, 0, sizeof(svm));
vmu = find_user(&svm, context, args.mbox);
if (vmu) {
pbx_builtin_setvar_helper(chan, "VMBOXEXISTSSTATUS", "SUCCESS");
@@ -12560,6 +12561,7 @@ static int acf_mailbox_exists(struct ast_channel *chan, const char *cmd, char *a
ast_log(AST_LOG_WARNING, "MAILBOX_EXISTS is deprecated. Please use ${VM_INFO(%s,exists)} instead.\n", args);
}
memset(&svm, 0, sizeof(svm));
vmu = find_user(&svm, ast_strlen_zero(arg.context) ? "default" : arg.context, arg.mbox);
ast_copy_string(buf, vmu ? "1" : "0", len);
free_user(vmu);