diff --git a/manager.c b/manager.c index 7bfccaa33b3077a093b17d3d6d3a06f22c080bfe..55f2ebeb8060dae325862aaeaa57e996364cc2fc 100755 --- a/manager.c +++ b/manager.c @@ -614,6 +614,7 @@ static int action_getvar(struct mansession *s, struct message *m) char *varname = astman_get_header(m, "Variable"); char *id = astman_get_header(m,"ActionID"); char *varval; + char *varval2=NULL; if (!strlen(name)) { astman_send_error(s, m, "No channel specified"); @@ -638,11 +639,14 @@ static int action_getvar(struct mansession *s, struct message *m) } varval=pbx_builtin_getvar_helper(c,varname); - + if (varval) + varval2 = ast_strdupa(varval); + if (!varval2) + varval2 = ""; ast_mutex_unlock(&c->lock); ast_mutex_lock(&s->lock); ast_cli(s->fd, "Response: Success\r\n" - "%s: %s\r\n" ,varname,varval); + "%s: %s\r\n" ,varname,varval2); if (id && !ast_strlen_zero(id)) ast_cli(s->fd, "ActionID: %s\r\n",id); ast_cli(s->fd, "\r\n");