[asterisk-commits] tilghman: branch 1.2 r42892 -
/branches/1.2/apps/app_voicemail.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Sep 13 12:51:25 MST 2006
Author: tilghman
Date: Wed Sep 13 14:51:24 2006
New Revision: 42892
URL: http://svn.digium.com/view/asterisk?rev=42892&view=rev
Log:
Backport bugfix patch from 7918 to 1.2 - msg_cfg destroyed before used
Modified:
branches/1.2/apps/app_voicemail.c
Modified: branches/1.2/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/apps/app_voicemail.c?rev=42892&r1=42891&r2=42892&view=diff
==============================================================================
--- branches/1.2/apps/app_voicemail.c (original)
+++ branches/1.2/apps/app_voicemail.c Wed Sep 13 14:51:24 2006
@@ -6468,8 +6468,6 @@
if (!strncasecmp("macro",context,5)) /* Macro names in contexts are useless for our needs */
context = ast_variable_retrieve(msg_cfg, "message","macrocontext");
- ast_config_destroy(msg_cfg);
-
if (option == 3) {
if (!res)
@@ -6489,8 +6487,10 @@
if (num) {
/* Dial the CID number */
res = dialout(chan, vmu, num, vmu->callback);
- if (res)
+ if (res) {
+ ast_config_destroy(msg_cfg);
return 9;
+ }
} else {
res = '2';
}
@@ -6500,13 +6500,16 @@
/* Want to enter a different number, can only do this if there's a dialout context for this user */
if (!ast_strlen_zero(vmu->dialout)) {
res = dialout(chan, vmu, NULL, vmu->dialout);
- if (res)
+ if (res) {
+ ast_config_destroy(msg_cfg);
return 9;
+ }
} else {
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "Caller can not specify callback number - no dialout context available\n");
res = ast_play_and_wait(chan, "vm-sorry");
}
+ ast_config_destroy(msg_cfg);
return res;
case '*':
res = 't';
@@ -6573,6 +6576,7 @@
ast_verbose(VERBOSE_PREFIX_3 "No CID number available, no reply sent\n");
if (!res)
res = ast_play_and_wait(chan, "vm-nonumber");
+ ast_config_destroy(msg_cfg);
return res;
} else {
if (find_user(NULL, vmu->context, num)) {
@@ -6586,6 +6590,7 @@
memset(&leave_options, 0, sizeof(leave_options));
leave_options.record_gain = record_gain;
res = leave_voicemail(chan, mailbox, &leave_options);
+ ast_config_destroy(msg_cfg);
if (!res)
res = 't';
return res;
@@ -6594,6 +6599,7 @@
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "No mailbox number '%s' in context '%s', no reply sent\n", num, vmu->context);
ast_play_and_wait(chan, "vm-nobox");
+ ast_config_destroy(msg_cfg);
res = 't';
return res;
}
@@ -6607,6 +6613,7 @@
vms->heard[msg] = 1;
res = wait_file(chan, vms, vms->fn);
}
+ ast_config_destroy(msg_cfg);
return res;
}
More information about the asterisk-commits
mailing list