From: Joshua Colp Date: Wed, 26 Oct 2016 12:51:50 +0000 (+0000) Subject: app_voicemail: Clear voice mailbox in MailboxExists and MAILBOX_EXISTS. X-Git-Tag: 11.25.0-rc1~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fc23415ec61e63491f06c13ade1b73d2afc6dbf;p=thirdparty%2Fasterisk.git 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 --- diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 4f8302b03c..cc931f1904 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -12050,6 +12050,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"); @@ -12081,6 +12082,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);