[
https://issues.apache.org/jira/browse/XERCESC-1730?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tobias Schuette closed XERCESC-1730.
------------------------------------
> scoped memory management
> ------------------------
>
> Key: XERCESC-1730
> URL: https://issues.apache.org/jira/browse/XERCESC-1730
> Project: Xerces-C++
> Issue Type: Improvement
> Reporter: Tobias Schuette
> Assignee: Boris Kolpackov
> Priority: Minor
> Fix For: 3.0.0
>
> Attachments: MemoryManager.diff, XMLException.diff
>
>
> passing scoped memory managers to certain helper functions (xercesc/util/...)
> only works in non-exceptional or catch-all circumstances.
> If those functions (e.g. XMLString::parseInt) throw an exception the scoped
> memory manager
> is passed via ThrowXMLwithMemMgrXXX to the exception during construction.
> The exception allocates memory for its internal buffers (message/source file)
> from that memory manager.
> If the exception is not caught before the scoped memory manager goes
> out-of-scope,
> dereferencing/deallocating the memory during reporting/destruction yields
> undefined behaviour.
> the attached diffs against trunk are a proposal to change the MemoryManager
> interface of Xerces-C's pluggable memory management and the exception base
> class XMLException in such a way that implementors of the MemoryManager
> interface are able to handle memory requests coming from exceptions
> separately as discussed on the mailing-list.
--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]