[ 
http://issues.apache.org/jira/browse/XERCESC-1348?page=comments#action_66435 ]
     
Christian Will commented on XERCESC-1348:
-----------------------------------------

Hi Dave,

your patch is for xalan and not for xerces.

> IGXMLScanner allocates from wrong memory manager
> ------------------------------------------------
>
>          Key: XERCESC-1348
>          URL: http://issues.apache.org/jira/browse/XERCESC-1348
>      Project: Xerces-C++
>         Type: Bug
>   Components: SAX/SAX2, Validating Parser (DTD)
>     Versions: 2.6.0
>  Environment: Found on solaris, but no a solaris issue.
>     Reporter: Mark Weissman
>     Assignee: David Bertoni
>  Attachments: patch.txt
>
> IGXMLScanner.c allocates from fGrammarPoolMemoryManager instead of 
> fMemoryManager.
> 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 but I suspect this problem exists for other
> scanners too.  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.
>       
>       
> > diff IGXMLScanner.cpp IGXMLScanner.cpp.orig
> 1256,1257c1256
> <     MemoryManager *rootDeclMgr = /*MDW*/fUseCachedGrammar ? fMemoryManager 
> : fGrammarPoolMemoryManager;
> <     DTDElementDecl* rootDecl = new (/*MDW*/rootDeclMgr) DTDElementDecl
> ---
> >     DTDElementDecl* rootDecl = new (fGrammarPoolMemoryManager) 
> > DTDElementDecl
> 1262c1261
> <         , /*MDW*/rootDeclMgr
> ---
> >         , fGrammarPoolMemoryManager
> 1497c1496
> <             DTDEntityDecl* declDTD = new (fMemoryManager/*MDW*/) 
> DTDEntityDecl(gDTDStr, false, fMemoryManager/*MDW*/);
> ---
> >             DTDEntityDecl* declDTD = new (fGrammarPoolMemoryManager) 
> > DTDEntityDecl(gDTDStr, false, fGrammarPoolMemoryManager);

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to