Skip to content
Draft
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions orkbasecxx/ConfigManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ void ConfigManager::Initialize()
}
}

XMLPlatformUtils::Initialize();
XMLPlatformUtils::Initialize();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add corresponding XMLPlatformUtils::Terminate() call.

While XMLPlatformUtils::Initialize() is now correctly active, there's no matching Terminate() call. This could lead to resource leaks.

Consider adding cleanup in the destructor:

ConfigManager::~ConfigManager() {
    if (m_parser) {
        delete m_parser;
        m_parser = nullptr;
    }
    XMLPlatformUtils::Terminate();
}


// By default, the DOM document generated by the parser will be free() by the parser.
// If we ever need to free the parser and the document separately, we need to do this:
Expand All @@ -110,7 +110,7 @@ void ConfigManager::Initialize()
// doc->release();
// ...
// delete parser;
XercesDOMParser *m_parser = new XercesDOMParser;
m_parser = new XercesDOMParser;
XmlErrorHandler errhandler;
m_parser->setErrorHandler(&errhandler);
m_parser->parse(cfgFilename);
Expand Down
Loading