From 67a7ffeb51df74fdedf9edf361badf7bce6b5af2 Mon Sep 17 00:00:00 2001 From: Andrey Volk Date: Mon, 26 Dec 2022 13:27:03 +0300 Subject: [PATCH] [Core] Fix possible file descriptor and a memory leak in switch_xml_parse_file_simple(). --- src/switch_xml.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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;