diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-15 18:35:30 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-15 18:35:30 +0000 |
commit | 4feee61e3299788aa180776ee939cb22e9cd1d1f (patch) | |
tree | 9cab89d82ce0b3bc74250bd8f03c9c76e0ce8076 /manager.c | |
parent | 1a9b411b0249c3b3cebba0d951df01c737780f58 (diff) |
don't crash on setvar (issue #5760)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7099 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'manager.c')
-rwxr-xr-x | manager.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -689,6 +689,11 @@ static int action_setvar(struct mansession *s, struct message *m) astman_send_error(s, m, "No variable specified"); return 0; } + + if (ast_strlen_zero(varval)) { + astman_send_error(s, m, "No value specified"); + return 0; + } if (!ast_strlen_zero(name)) { c = ast_get_channel_by_name_locked(name); @@ -698,10 +703,12 @@ static int action_setvar(struct mansession *s, struct message *m) } } - pbx_builtin_setvar_helper(c,varname,varval); + pbx_builtin_setvar_helper(c, varname, varval); - ast_mutex_unlock(&c->lock); - astman_send_ack(s, m, "Variable Set"); + if (c) + ast_mutex_unlock(&c->lock); + + astman_send_ack(s, m, "Variable Set"); return 0; } |