From 9c761b8f45892211b52d2c6655d2641aa4a64cd6 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Wed, 26 Oct 2016 12:51:50 +0000 Subject: 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 --- apps/app_voicemail.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 5eb767c1c..bee684e4e 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -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); -- cgit v1.2.3