You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Boris Kolpackov (JIRA)" <xe...@xml.apache.org> on 2009/11/03 14:22:59 UTC

[jira] Updated: (XERCESC-1349) GrammarResolver.cpp allocates XMLSchemaDescription out of wrong pool

     [ https://issues.apache.org/jira/browse/XERCESC-1349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Boris Kolpackov updated XERCESC-1349:
-------------------------------------

    Component/s:     (was: SAX/SAX2)

> GrammarResolver.cpp allocates XMLSchemaDescription out of wrong pool
> --------------------------------------------------------------------
>
>                 Key: XERCESC-1349
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1349
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: Validating Parser (DTD)
>    Affects 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.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org