From: Naveen Albert Date: Thu, 31 Mar 2022 15:44:23 +0000 (+0000) Subject: app_meetme: Don't erroneously set global variables. X-Git-Tag: 18.12.0-rc1~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff70b2aac6379e89ec3d74deff7eb3c6651eff6d;p=thirdparty%2Fasterisk.git app_meetme: Don't erroneously set global variables. 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 --- diff --git a/apps/app_meetme.c b/apps/app_meetme.c index e7ade64c54..e37c548eb8 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -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; }