diff plugins/mod_debug_stanzas/watcher.lib.lua @ 14191:e86ede52bfbe 13.0

mod_debug_stanzas: Only clear active_filters when there are no subscribers This fixes a potential leak when there are multiple concurrent stanza watchers in progress and one quits.
author Matthew Wild <mwild1@gmail.com>
date Tue, 26 May 2026 11:46:45 +0100
parents 74b9e05af71e
children
line wrap: on
line diff
--- a/plugins/mod_debug_stanzas/watcher.lib.lua	Tue May 26 01:31:31 2026 -0400
+++ b/plugins/mod_debug_stanzas/watcher.lib.lua	Tue May 26 11:46:45 2026 +0100
@@ -59,8 +59,8 @@
 	if #active_filter.downstream == 0 then
 		filters.remove_filter(session, "stanzas/in", active_filter.filter_in);
 		filters.remove_filter(session, "stanzas/out", active_filter.filter_out);
+		active_filters[session] = nil;
 	end
-	active_filters[session] = nil;
 end
 
 local function unsubscribe_all_from_session(session, reason)