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 2bd8af6d0b
commit 14496ce1e5

View File

@@ -12450,6 +12450,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");
@@ -12481,6 +12482,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);