diff --git a/main/pbx.c b/main/pbx.c index fa2f645947eafd010190e881665f4d531bcf17b9..09f3d95ec7157553c6be9f3d3ccdecb69016e2ee 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -4479,11 +4479,12 @@ void pbx_substitute_variables_helper_full(struct ast_channel *c, struct varshead /* Substitute if necessary */ if (needsub) { - size_t used; - if (!ltmp) - ltmp = ast_alloca(VAR_BUF_SIZE); + size_t my_used; - pbx_substitute_variables_helper_full(c, headp, var, ltmp, VAR_BUF_SIZE - 1, &used); + if (!ltmp) { + ltmp = ast_alloca(VAR_BUF_SIZE); + } + pbx_substitute_variables_helper_full(c, headp, var, ltmp, VAR_BUF_SIZE - 1, &my_used); vars = ltmp; } else { vars = var; @@ -4568,11 +4569,12 @@ void pbx_substitute_variables_helper_full(struct ast_channel *c, struct varshead /* Substitute if necessary */ if (needsub) { - size_t used; - if (!ltmp) - ltmp = ast_alloca(VAR_BUF_SIZE); + size_t my_used; - pbx_substitute_variables_helper_full(c, headp, var, ltmp, VAR_BUF_SIZE - 1, &used); + if (!ltmp) { + ltmp = ast_alloca(VAR_BUF_SIZE); + } + pbx_substitute_variables_helper_full(c, headp, var, ltmp, VAR_BUF_SIZE - 1, &my_used); vars = ltmp; } else { vars = var;