Thank you for Xerces, the team I develop on have been using Xerces since its'
release & have had been quite satisfied with it. Well done!
We have recently compiled our project using Rational Purify & have discovered
several memory allocations which remain unreleased when the dll terminates.
Version number of Xerces-C : 1.0.0
Which OS platform/version you are using: NT4
Which compiler/version you are using: VC6
This can be replicated by initialising the platform (PlatformUtil::Initialize())
and parsing any XML file.
The allocations in question are:
XMLAttr.cpp:
fPrefix is allocated & never destroyed.
XMLScanner.cpp:
gMsgLoader is allocated & never destroyed.
XMLScanner2.cpp
Lines 764 & 773: XMLPlatformUtils::getBasePath() returns a
string which is not destroyed.
PlatformUtils.cpp:
gMsgMutex is allocated & never destroyed.
defXCode is allocated & never destroyed.
fgTransService is allocated & never destroyed.
fgLibLocation is allocated & never destroyed.
XMLException.cpp:
gLoader is allocated & never destroyed.
Thanks again.
Regards,
Simon H. Chandler
Software Consultant.