diff -u pbx.c.old pbx.c diff -u pbx.c.old pbx.c --- pbx.c.old Fri Jul 23 14:32:51 2004 +++ pbx.c Fri Jul 23 14:33:05 2004 @@ -1103,7 +1103,7 @@ whereweare += ( len + 3); /* Store variable name (and truncate) */ - var = (char*)malloc(len + 1); + var = (char*)alloca(len + 1); memcpy(var, vars, len); var[len] = 0; @@ -1124,7 +1124,6 @@ cp2 += length; *cp2 = 0; } - free(var); } else if (nextexp) { /* We have an expression. Find the start and end, and determine if we are going to have to recursively call ourselves on the @@ -1157,7 +1156,7 @@ whereweare += ( len + 3); /* Store variable name (and truncate) */ - var = (char*)malloc(len + 1); + var = (char*)alloca(len + 1); memcpy(var, vars, len); var[len] = 0;