From fbde0186c7393fe680c6d2447b8f7201f0ff815c Mon Sep 17 00:00:00 2001
From: Naveen Albert <asterisk@phreaknet.org>
Date: Thu, 24 Feb 2022 16:55:23 +0000
Subject: [PATCH] ami: Improve substring parsing for disabled events.

ASTERISK_29853 added the ability to selectively disable
AMI events on a global basis, but the logic for this uses
strstr which means that events with names which are the prefix
of another event, if disabled, could disable those events as
well.

Instead, we account for this possibility to prevent this
undesired behavior from occuring.

ASTERISK_29853

Change-Id: Icccd1872602889806740971e4adf932f92466959
---
 main/manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/main/manager.c b/main/manager.c
index f6feb8e307..76a6611a24 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -7234,7 +7234,7 @@ int __ast_manager_event_multichan(int category, const char *event, int chancount
 	int res;
 
 	if (!ast_strlen_zero(manager_disabledevents)) {
-		if (strstr(manager_disabledevents, event)) {
+		if (ast_in_delimited_string(event, manager_disabledevents, ',')) {
 			ast_debug(3, "AMI Event '%s' is globally disabled, skipping\n", event);
 			/* Event is globally disabled */
 			ao2_cleanup(sessions);
-- 
GitLab