[asterisk-commits] russell: branch 1.2 r51828 - /branches/1.2/apps/app_while.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue Jan 23 17:17:51 MST 2007


Author: russell
Date: Tue Jan 23 18:17:50 2007
New Revision: 51828

URL: http://svn.digium.com/view/asterisk?view=rev&rev=51828
Log:
Don't set a new value for the END_ variable on the channel before using the
old value.  If you do, it will lead to accessing a memory address that has
been free()'d.  (issue #8895, arkadia)

Modified:
    branches/1.2/apps/app_while.c

Modified: branches/1.2/apps/app_while.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/apps/app_while.c?view=diff&rev=51828&r1=51827&r2=51828
==============================================================================
--- branches/1.2/apps/app_while.c (original)
+++ branches/1.2/apps/app_while.c Tue Jan 23 18:17:50 2007
@@ -275,8 +275,8 @@
 		pbx_builtin_setvar_helper(chan, my_name, NULL);
         snprintf(end_varname,VAR_SIZE,"END_%s",varname);
 		if ((goto_str=pbx_builtin_getvar_helper(chan, end_varname))) {
+			ast_parseable_goto(chan, goto_str);
 			pbx_builtin_setvar_helper(chan, end_varname, NULL);
-			ast_parseable_goto(chan, goto_str);
 		} else {
 			int pri = find_matching_endwhile(chan);
 			if (pri > 0) {



More information about the asterisk-commits mailing list