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 xe...@xml.apache.org on 2004/09/30 08:30:32 UTC

[jira] Commented: (XERCESC-1279) Memory leak with writeToString in DOMWriter

The following comment has been added to this issue:

     Author: Dee
    Created: Wed, 29 Sep 2004 11:30 PM
       Body:
Hi, 
i also tried using this snippet ..but the memory leak is still there.. 

std::string GetXmlStringNew(DOMNode *pNode) 
{ 
std::string sXML = ""; 

try 
{ 
DOMImplementation* impl = DOMImplementationRegistry::getDOMImplementation(X("Core")); 

// get the XML string out of the DOM 
DOMWriter *theSerializer = impl->createDOMWriter(); 
XMLCh tempStr[100]; 
     
MemBufFormatTarget destination; 
bool retVal; 

try 
{ 
retVal = theSerializer->writeNode(&destination, *pNode); 
} 
catch (...) 
{ 
retVal = false; 
} 

//const 
char *charString = (retVal ? XMLString::replicate((char*)destination.getRawBuffer()) : 0); 

//delete theSerializer; 
theSerializer->release(); 

//****************************** 
// std::string sRet(charString); 
sXML = charString; 
XMLString::release(&charString); 
return sXML; 

} 
    catch(const XMLException& toCatch) 
    { 
        char *pMsg = XMLString::transcode(toCatch.getMessage()); 

        XMLString::release(&pMsg); 
         
    } 
return sXML ; 
} 
//************************ 

---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/XERCESC-1279?page=comments#action_53531

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/XERCESC-1279

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XERCESC-1279
    Summary: Memory leak with writeToString in DOMWriter
       Type: Bug

     Status: Unassigned
   Priority: Critical

    Project: Xerces-C++
   Versions:
             2.5.0

   Assignee: 
   Reporter: Dee

    Created: Wed, 29 Sep 2004 11:29 PM
    Updated: Wed, 29 Sep 2004 11:30 PM

Description:
Hi All, 
I have a very critical issue and we a re trying to implement this in our mission critical application.. 
I'm trying to use writeToString in DOMWriter using the function GetXmlString below ----> 
I am getting a memory leak proportionate to the size of document been serialized. 
I'm unable to free up the memory allocated . 

Is it something else we need to do ensure that the leak is closed.. 

Kindly suggest.. 


std::string GetXmlString(DOMNode *pNode) 
{ 
std::string sXML = ""; 

try 
{ 
DOMImplementation* impl = DOMImplementationRegistry::getDOMImplementation(X("Core")); 

// get the XML string out of the DOM 
DOMWriter *theSerializer = impl->createDOMWriter(); 
XMLCh *xXml = theSerializer->writeToString(*pNode); 
char *pChar = XMLString::transcode(xXml); 
sXML = pChar; 
XMLString::release(&pChar); 

XMLString::release(&xXml); 

delete theSerializer; 
// delete impl; 
// theSerializer->release(); 
//delete theSerializer; 
} 
    catch(const XMLException& toCatch) 
    { 
        char *pMsg = XMLString::transcode(toCatch.getMessage()); 

        XMLString::release(&pMsg); 
         
    } 
return sXML; 
} 



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