From 0018f31353dc3c728e30986bffe3125b3212f40c Mon Sep 17 00:00:00 2001 From: Naveen Albert Date: Thu, 31 Mar 2022 15:44:23 +0000 Subject: [PATCH] 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 --- apps/app_meetme.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 17ff202a2a..d71ffb208f 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; } -- 2.47.2