From: Gaurav Gupta Date: Mon, 17 Feb 2020 05:38:45 +0000 (+0530) Subject: Fix memleak issue reported by Dexter tool. X-Git-Tag: accepted/tizen/6.0/unified/20201030.115601~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dd569bc52ec74de77b78b6d744e405f3e4c6ad7c;p=platform%2Fcore%2Fsystem%2Flibdbuspolicy.git Fix memleak issue reported by Dexter tool. Change-Id: I24e2d2d6b6ecb3e3daf0edd94fe67866f369e87a --- 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()); }