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.


Reply via email to