diff --git a/src/switch_xml.c b/src/switch_xml.c index c43a530252..57bf99c8b6 100644 --- a/src/switch_xml.c +++ b/src/switch_xml.c @@ -1633,7 +1633,7 @@ SWITCH_DECLARE(switch_xml_t) switch_xml_parse_file_simple(const char *file) int fd = -1; struct stat st; switch_ssize_t l; - void *m; + void *m = NULL; switch_xml_root_t root; if ((fd = open(file, O_RDONLY, 0)) > -1) { @@ -1650,6 +1650,11 @@ SWITCH_DECLARE(switch_xml_t) switch_xml_parse_file_simple(const char *file) error: + switch_safe_free(m); + if (fd > -1) { + close(fd); + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Parsing File [%s]\n", file); return NULL;