aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xChangeLog2
-rwxr-xr-xpbx/pbx_spool.c13
2 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 4368877fe..8096a223e 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2005-11-20 Josh Roberson <josh@asteriasgi.com>
+ * pbx/pbx_spool.c: Fix crash in spooler if set/setvar declared incorrectly. (issue #5806)
+
* apps/app_meetme.c: fix 'X' option in MeetMe, with slight modification. (issue #5773)
* apps/app_voicemail.c: Make sure we're copying the read digits when calling voicemail without a box. (issue #5774)
diff --git a/pbx/pbx_spool.c b/pbx/pbx_spool.c
index 96531b5f9..4af23c400 100755
--- a/pbx/pbx_spool.c
+++ b/pbx/pbx_spool.c
@@ -202,11 +202,16 @@ static int apply_outgoing(struct outgoing *o, char *fn, FILE *f)
} else if (!strcasecmp(buf, "setvar") || !strcasecmp(buf, "set")) {
c2 = c;
strsep(&c2, "=");
- var = ast_variable_new(c, c2);
- if (var) {
- var->next = o->vars;
- o->vars = var;
+ if (c2)
+ {
+ var = ast_variable_new(c, c2);
+ if (var) {
+ var->next = o->vars;
+ o->vars = var;
+ }
}
+ else
+ ast_log(LOG_WARNING, "Malformed \"%s\" argument. Should be \"%s: variable=value\"\n", buf, buf);
} else if (!strcasecmp(buf, "account")) {
var = ast_variable_new("CDR(accountcode|r)", c);
if (var) {