issue #5806
authorJosh Roberson <josh@asteriasgi.com>
Sun, 20 Nov 2005 06:59:42 +0000 (06:59 +0000)
committerJosh Roberson <josh@asteriasgi.com>
Sun, 20 Nov 2005 06:59:42 +0000 (06:59 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7143 65c4cc65-6c06-0410-ace0-fbb531ad65f3

ChangeLog
pbx/pbx_spool.c

index 4368877..8096a22 100755 (executable)
--- 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)
index 96531b5..4af23c4 100755 (executable)
@@ -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) {