diff --git a/src/Base/Parameter.cpp b/src/Base/Parameter.cpp index 61b678539..e38784e01 100644 --- a/src/Base/Parameter.cpp +++ b/src/Base/Parameter.cpp @@ -1131,10 +1131,16 @@ int ParameterManager::LoadDocument(const char* sFileName) errorsOccured = true; } - if (errorsOccured) + if (errorsOccured) { + delete parser; + delete errReporter; return 0; + } + + _pDocument = parser->adoptDocument(); + delete parser; + delete errReporter; - _pDocument = parser->getDocument(); if (!_pDocument) throw Exception("Malformed Parameter document: Invalid document");