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 "Tobias Schuette (JIRA)" <xe...@xml.apache.org> on 2008/03/20 08:08:24 UTC

[jira] Closed: (XERCESC-1730) scoped memory management

     [ 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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org