This commits the performance mods that give the priority processing engine in the...
[asterisk/asterisk.git] / utils / extconf.c
index 0d30cc9..fa31102 100644 (file)
@@ -5700,6 +5700,7 @@ static void pbx_substitute_variables_helper_full(struct ast_channel *c, struct v
        char *vars, *vare;
        int pos, brackets, needsub, len;
 
+       *cp2 = 0; /* just in case there's nothing to do */
        whereweare=tmp=cp1;
        while (!ast_strlen_zero(whereweare) && count) {
                /* Assume we're copying the whole remaining string */
@@ -5731,6 +5732,7 @@ static void pbx_substitute_variables_helper_full(struct ast_channel *c, struct v
                        count -= pos;
                        cp2 += pos;
                        whereweare += pos;
+                       *cp2 = 0;
                }
 
                if (nextvar) {
@@ -5802,6 +5804,7 @@ static void pbx_substitute_variables_helper_full(struct ast_channel *c, struct v
                                memcpy(cp2, cp4, length);
                                count -= length;
                                cp2 += length;
+                               *cp2 = 0;
                        }
                } else if (nextexp) {
                        /* We have an expression.  Find the start and end, and determine
@@ -5859,6 +5862,7 @@ static void pbx_substitute_variables_helper_full(struct ast_channel *c, struct v
                                        ast_log(LOG_DEBUG, "Expression result is '%s'\n", cp2);
                                count -= length;
                                cp2 += length;
+                               *cp2 = 0;
                        }
                } else
                        break;