diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-10-07 10:53:56 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-10-07 10:53:56 +0000 |
commit | a6f020197a9af30e4ae1ff9d64313ea97e1c4ca5 (patch) | |
tree | 544ea2ce13fd05f77291bb741b3fc11d772201c8 /main | |
parent | 98bbe79d6eeb1744eb9cc8d4044b4f8776b907bb (diff) |
Don't crash when Set() is called without a value.
Review: https://reviewboard.asterisk.org/r/949/
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@290712 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/pbx.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/main/pbx.c b/main/pbx.c index 62c9d8d2f..9fb0c8bb0 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -9111,11 +9111,18 @@ int pbx_builtin_setvar(struct ast_channel *chan, void *data) mydata = ast_strdupa(data); name = strsep(&mydata, "="); value = mydata; - if (strchr(name, ' ')) + if (!value) { + ast_log(LOG_WARNING, "Set requires an '=' to be a valid assignment.\n"); + return 0; + } + + if (strchr(name, ' ')) { ast_log(LOG_WARNING, "Please avoid unnecessary spaces on variables as it may lead to unexpected results ('%s' set to '%s').\n", name, mydata); + } pbx_builtin_setvar_helper(chan, name, value); - return(0); + + return 0; } int pbx_builtin_setvar_multiple(struct ast_channel *chan, void *vdata) |