From 318e5d0d6d76c834bc93196d58d3d9908c3e65ea Mon Sep 17 00:00:00 2001
From: lazedo <luis.azedo@factorlusitano.com>
Date: Sun, 13 Oct 2019 12:21:22 +0100
Subject: [PATCH] [mod_kazoo] fix xml leak when event-filter is not available

---
 src/mod/event_handlers/mod_kazoo/kazoo_ei_utils.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/mod/event_handlers/mod_kazoo/kazoo_ei_utils.c b/src/mod/event_handlers/mod_kazoo/kazoo_ei_utils.c
index c1b792f490..514980b426 100644
--- a/src/mod/event_handlers/mod_kazoo/kazoo_ei_utils.c
+++ b/src/mod/event_handlers/mod_kazoo/kazoo_ei_utils.c
@@ -866,7 +866,8 @@ static void fetch_config_filters(switch_memory_pool_t *pool)
 
 	if (!(xml = switch_xml_open_cfg(cf, &cfg, params))) {
 		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open configuration file %s\n", cf);
-	} else if ((child = switch_xml_child(cfg, "event-filter"))) {
+	} else {
+		if ((child = switch_xml_child(cfg, "event-filter"))) {
 			switch_hash_t *filter;
 			switch_hash_t *old_filter;
 
@@ -881,9 +882,10 @@ static void fetch_config_filters(switch_memory_pool_t *pool)
 			if (old_filter) {
 				switch_core_hash_destroy(&old_filter);
 			}
+		}
 
-			kazoo_globals.config_fetched = 1;
-			switch_xml_free(xml);
+		kazoo_globals.config_fetched = 1;
+		switch_xml_free(xml);
 	}
 
 }