aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-10-07 10:53:56 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-10-07 10:53:56 +0000
commita6f020197a9af30e4ae1ff9d64313ea97e1c4ca5 (patch)
tree544ea2ce13fd05f77291bb741b3fc11d772201c8 /main
parent98bbe79d6eeb1744eb9cc8d4044b4f8776b907bb (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.c11
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)