From dd569bc52ec74de77b78b6d744e405f3e4c6ad7c Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Mon, 17 Feb 2020 11:08:45 +0530 Subject: [PATCH] Fix memleak issue reported by Dexter tool. Change-Id: I24e2d2d6b6ecb3e3daf0edd94fe67866f369e87a --- src/internal/xml_parser.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/internal/xml_parser.cpp b/src/internal/xml_parser.cpp index 62d8372..dba29ff 100644 --- a/src/internal/xml_parser.cpp +++ b/src/internal/xml_parser.cpp @@ -223,16 +223,20 @@ std::unique_ptr file2str(const char *filename) { } if (fseek(fp, 0, SEEK_END)) { + fclose(fp); throw std::runtime_error(std::string("Failed to fseek end of file").c_str()); } long fsize = ftell(fp); if (fsize < 0) { + fclose(fp); throw std::runtime_error(std::string("Failed to ftell").c_str()); } if (fsize > (MAX_CONF_SIZE)) { + fclose(fp); throw std::runtime_error(std::string("File size over ").append(std::to_string(MAX_CONF_SIZE)).append("Bytes").c_str()); } if (fseek(fp, 0, SEEK_SET)) { + fclose(fp); throw std::runtime_error(std::string("Failed to fseek beginning of file").c_str()); } -- 2.7.4