From 85198f08a78fcd6aa3a061f57f95549649d59608 Mon Sep 17 00:00:00 2001 From: Jean-Marie Verdun Date: Fri, 30 Aug 2019 13:51:47 +0200 Subject: [PATCH] Destroy XMLReader object attached to Reader one when this one is gone as to avoid potential memory leaks. --- src/Base/Reader.cpp | 6 ++++++ src/Base/Reader.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/Base/Reader.cpp b/src/Base/Reader.cpp index 1e0b554a10..29e6ccfdfb 100644 --- a/src/Base/Reader.cpp +++ b/src/Base/Reader.cpp @@ -563,6 +563,12 @@ Base::Reader::Reader(std::istream& str, const std::string& name, int version) { } +Base::Reader::~Reader() +{ + if ( this->localreader != nullptr ) + delete this->localreader; +} + std::string Base::Reader::getFileName() const { return this->_name; diff --git a/src/Base/Reader.h b/src/Base/Reader.h index 4950d02564..081193ef74 100644 --- a/src/Base/Reader.h +++ b/src/Base/Reader.h @@ -295,6 +295,7 @@ class BaseExport Reader : public std::istream { public: Reader(std::istream&, const std::string&, int version); + ~Reader(); std::istream& getStream(); std::string getFileName() const; int getFileVersion() const;