diff --git a/apps/app_exec.c b/apps/app_exec.c
index 8309684009fb0d999a65d822a517282e2379df82..6a13e180182c481fbdb58268f5eda8ae187863e0 100644
--- a/apps/app_exec.c
+++ b/apps/app_exec.c
@@ -99,6 +99,7 @@ static int exec_exec(struct ast_channel *chan, void *data)
 		return 0;
 	
 	s = ast_strdupa(data);
+	args[0] = 0;
 	appname = strsep(&s, "(");
 	if (s) {
 		endargs = strrchr(s, ')');
@@ -129,6 +130,7 @@ static int tryexec_exec(struct ast_channel *chan, void *data)
 		return 0;
 
 	s = ast_strdupa(data);
+	args[0] = 0;
 	appname = strsep(&s, "(");
 	if (s) {
 		endargs = strrchr(s, ')');
diff --git a/apps/app_mixmonitor.c b/apps/app_mixmonitor.c
index 4c705ad516b70a77ef619fbd644a485cad172ae8..1583566fb168957ef3554cd5f2791b1894bcb662 100644
--- a/apps/app_mixmonitor.c
+++ b/apps/app_mixmonitor.c
@@ -225,6 +225,7 @@ static void launch_monitor_thread(struct ast_channel *chan, const char *filename
 
 	len = sizeof(*mixmonitor) + strlen(chan->name) + strlen(filename) + 2;
 
+	postprocess2[0] = 0;
 	/* If a post process system command is given attach it to the structure */
 	if (!ast_strlen_zero(post_process)) {
 		char *p1, *p2;
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 9042149c0e8e3b10e99a8d3df6f9a2c683f89032..0b0ebac7d3abbff4164a7e5855b8fa95aac5359d 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -2703,6 +2703,8 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
 	struct ao2_iterator memi;
 
 	memset(&bridge_config, 0, sizeof(bridge_config));
+	tmpid[0] = 0;
+	meid[0] = 0;
 	time(&now);
 		
 	for (; options && *options; options++)
diff --git a/cdr/cdr_manager.c b/cdr/cdr_manager.c
index 4fa66b560c88ec2d565edce00292fef3a78f90c0..062718039017eaf940a5d5f084db075fa33292fe 100644
--- a/cdr/cdr_manager.c
+++ b/cdr/cdr_manager.c
@@ -142,6 +142,7 @@ static int manager_log(struct ast_cdr *cdr)
 	ast_localtime(&cdr->end, &timeresult, NULL);
 	ast_strftime(strEndTime, sizeof(strEndTime), DATE_FORMAT, &timeresult);
 
+	buf[0] = 0;
 	/* Custom fields handling */
 	if (customfields != NULL && customfields->used > 0) {
 		memset(&dummy, 0, sizeof(dummy));
diff --git a/funcs/func_logic.c b/funcs/func_logic.c
index 4093be80015623604ae6e0c2cc668c9a5c76c888..1ec21eb9ed498f40c437ad6541d4c1b5b722234d 100644
--- a/funcs/func_logic.c
+++ b/funcs/func_logic.c
@@ -157,7 +157,7 @@ static int acf_import(struct ast_channel *chan, const char *cmd, char *data, cha
 		AST_APP_ARG(varname);
 	);
 	AST_STANDARD_APP_ARGS(args, data);
-
+	buf[0] = 0;
 	if (!ast_strlen_zero(args.varname)) {
 		struct ast_channel *chan2 = ast_get_channel_by_name_locked(args.channel);
 		if (chan2) {
diff --git a/main/pbx.c b/main/pbx.c
index 483bb762ea737afa5642fb4b290efa28880c4b1a..4d4fcd3b0a19a0e51b4c95c196b1e51d2d9331e5 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -1652,6 +1652,7 @@ struct ast_exten *pbx_find_extension(struct ast_channel *chan,
 			continue;
 		}
 		/* Substitute variables now */
+		
 		if (sw->eval)
 			pbx_substitute_variables_helper(chan, sw->data, sw->tmpdata, SWITCH_DATA_LENGTH - 1);
 
@@ -6886,7 +6887,7 @@ int pbx_builtin_importvar(struct ast_channel *chan, void *data)
 		ast_log(LOG_WARNING, "Ignoring, since there is no variable to set\n");
 		return 0;
 	}
-
+	tmp[0] = 0;
 	if (!deprecation_warning) {
 		ast_log(LOG_WARNING, "ImportVar is deprecated.  Please use Set(varname=${IMPORT(channel,variable)}) instead.\n");
 		deprecation_warning = 1;
diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c
index 2a03cb671d23d04725cd09bb6cbedf2c4c656b87..05748b39705f678fcfef0b595882cec159b0dbf8 100644
--- a/pbx/pbx_dundi.c
+++ b/pbx/pbx_dundi.c
@@ -535,6 +535,7 @@ static int get_mapping_weight(struct dundi_mapping *map)
 {
 	char buf[32];
 
+	buf[0] = 0;
 	if (map->weightstr) {
 		pbx_substitute_variables_helper(NULL, map->weightstr, buf, sizeof(buf) - 1);
 		if (sscanf(buf, "%d", &map->_weight) != 1)
diff --git a/pbx/pbx_realtime.c b/pbx/pbx_realtime.c
index d733dc052b0d97b45b9753ff135b766cd850e08e..0d92fa720bf84881af98377350e1a4cdeb29668d 100644
--- a/pbx/pbx_realtime.c
+++ b/pbx/pbx_realtime.c
@@ -196,6 +196,7 @@ static int realtime_exec(struct ast_channel *chan, const char *context, const ch
 				char tmp2[80];
 				char tmp3[EXT_DATA_SIZE];
 
+				appdata[0] = 0; /* just in case the substitute var func isn't called */
 				if(!ast_strlen_zero(tmp))
 					pbx_substitute_variables_helper(chan, tmp, appdata, sizeof(appdata) - 1);
 				ast_verb(3, "Executing %s(\"%s\", \"%s\")\n",