When trying to use Xerces with the pluggable MemoryManager I discovered that on several occasions objects are instantiated with the global new operator that does not use the memory manager. Here are some of those cases:
- initializing the EncodingValidator in EncodingValidator.cpp
- creating a DOMImplementationListImpl in DOMImplementationImpl.cpp and DOMImplementationRegistry.cpp
- creating a DOMNodeListImpl in DOMNodeImpl.cpp
- creating a DOMDocumentTypeImpl in DOMImplementationImpl.cpp
- creating a XMLCh array in XMLString.cpp
In our code we essentially forbid the use of plain global "new" so the above cases blow up when Xerces is linked against our codebase.
I will post a patch soon with the suggested fixes.