]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_meetme: Don't erroneously set global variables.
authorNaveen Albert <asterisk@phreaknet.org>
Thu, 31 Mar 2022 15:44:23 +0000 (15:44 +0000)
committerJoshua Colp <jcolp@sangoma.com>
Wed, 27 Apr 2022 23:40:09 +0000 (18:40 -0500)
The admin_exec function in app_meetme is used by the SLA
applications for internal bridging. However, in these cases,
chan is NULL. Currently, this function will set some status
variables that are intended for a channel, but since channel
is NULL, this is erroneously creating meaningless global
variables, which shouldn't be happening. This sets these
variables only if chan is not NULL.

ASTERISK-30002 #close

Change-Id: I817df6c26f5bda131678e56791b0b61ba64fc6f7

apps/app_meetme.c

index e7ade64c542246d83614f6f0cc99fa922555a564..e37c548eb84cb513832a4ae23cd45416d2317bbd 100644 (file)
@@ -5239,7 +5239,9 @@ static int admin_exec(struct ast_channel *chan, const char *data) {
 
        if (ast_strlen_zero(data)) {
                ast_log(LOG_WARNING, "MeetMeAdmin requires an argument!\n");
-               pbx_builtin_setvar_helper(chan, "MEETMEADMINSTATUS", "NOPARSE");
+               if (chan) {
+                       pbx_builtin_setvar_helper(chan, "MEETMEADMINSTATUS", "NOPARSE");
+               }
                return -1;
        }
 
@@ -5248,7 +5250,9 @@ static int admin_exec(struct ast_channel *chan, const char *data) {
 
        if (!args.command) {
                ast_log(LOG_WARNING, "MeetmeAdmin requires a command!\n");
-               pbx_builtin_setvar_helper(chan, "MEETMEADMINSTATUS", "NOPARSE");
+               if (chan) {
+                       pbx_builtin_setvar_helper(chan, "MEETMEADMINSTATUS", "NOPARSE");
+               }
                return -1;
        }
 
@@ -5261,7 +5265,9 @@ static int admin_exec(struct ast_channel *chan, const char *data) {
        if (!cnf) {
                ast_log(LOG_WARNING, "Conference number '%s' not found!\n", args.confno);
                AST_LIST_UNLOCK(&confs);
-               pbx_builtin_setvar_helper(chan, "MEETMEADMINSTATUS", "NOTFOUND");
+               if (chan) {
+                       pbx_builtin_setvar_helper(chan, "MEETMEADMINSTATUS", "NOTFOUND");
+               }
                return 0;
        }
 
@@ -5384,7 +5390,9 @@ usernotfound:
        AST_LIST_UNLOCK(&confs);
 
        dispose_conf(cnf);
-       pbx_builtin_setvar_helper(chan, "MEETMEADMINSTATUS", res == -2 ? "NOTFOUND" : res ? "FAILED" : "OK");
+       if (chan) {
+               pbx_builtin_setvar_helper(chan, "MEETMEADMINSTATUS", res == -2 ? "NOTFOUND" : res ? "FAILED" : "OK");
+       }
 
        return 0;
 }