GrammarResolver.cpp allocates XMLSchemaDescription out of wrong pool --------------------------------------------------------------------
Key: XERCESC-1349 URL: http://issues.apache.org/jira/browse/XERCESC-1349 Project: Xerces-C++ Type: Bug Components: SAX/SAX2, Validating Parser (DTD) Versions: 2.6.0 Environment: Solaris Reporter: Mark Weissman GrammarResolver.cpp allocates XMLSchemaDescription out of wrong pool This causes a memory leak and thread safety issues when sharing an unsynchronized grammar pool across multiple threads. I included diffs that affect my application. It would be good if somebody could check all uses of fGrammarPoolMemoryManager to verify the immutability of cached grammars and thread safety for the GrammarPool. When not parsing grammars, the pool should not change. I think fGrammarPool->createSchemaDescription may be generally dangerous. < XMLSchemaDescription* gramDesc = new (fMemoryManager) XMLSchemaDescriptionImpl(namespaceKey, fMemoryManager); --- > XMLSchemaDescription* gramDesc = > fGrammarPool->createSchemaDescription(namespaceKey); -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]