Just to follow up... I've tried to reproduce the issue with the current git versions of both XMLSec and LibXML2 but I don't see the memory leak. Looking at the code, the only possible scenario to have this leak is a missing "close" callback from LibXML2 IO system. It might be either version specific (i.e. bug in the old LibXML2) or it might be Windows specific (I run tests on Linux + valgrind). I've looked at the current LibXML2 code and I don't see any issues there. I wonder if Daniel can remember any fixes in this area in the latest releases.
Best, Aleksey On 8/30/13 4:10 PM, Alexwell Sandro wrote: > I am using xmlsec1-1.2.19 > > Documents attached: > > *signature_enveloping_edited_invalid_transform.xml* > Contains Xml Signature enveloping of binary file edited. > (Added Invalid Transform to binary: *<ds:Transform > Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>* ) > > *log_from_stderr.txt* > Contains prints from XmlSec library (eg.: > func=xmlSecParserPushBin:file=..\(...) ) > > *log_from_memory_leak_detector.txt* > Contains memory leak trace. > > > > On Fri, Aug 30, 2013 at 7:06 PM, Aleksey Sanin <[email protected] > <mailto:[email protected]>> wrote: > > Any chance you can send the complete XML file that demonstrates > the problem? Or the exact print-out from the memory leak? > > Thanks in advance, > > Aleksey > > On 8/30/13 11:30 AM, Alexwell Sandro wrote: > > I create enveloping signature of binary file: > > > > ... > > <ds:Reference Id="myId" URI="#*ObjectId*"> > > <ds:Transforms> > > <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> > > </ds:Transforms> > > ... > > <ds:Object Id="*ObjectId*">ghimBgkq</ds:Object> > > ... > > > > *I edited the file placing a transform (invalid to binary):* > > > > ... > > <ds:Reference Id="myId" URI="#*ObjectId*"> > > <ds:Transforms> > > <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> > > *<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>* > > </ds:Transforms> > > ... > > <ds:Object Id="*ObjectId*">ghimBgkq</ds:Object> > > ... > > > > When verify occurs memory leak. > > > > Is related to (at *transforms.c* line 2807) > > *buffer = > > > (xmlSecTransformIOBufferPtr)xmlMalloc(sizeof(xmlSecTransformIOBuffer));* > > > > (at *c14n.c* line 277). > > > > ... > > *ret = xmlOutputBufferClose(buf);* > > ... > > ret contains the value (-1) > > > > Is memory leak, or some error in my build? > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > xmlsec mailing list > > [email protected] <mailto:[email protected]> > > http://www.aleksey.com/mailman/listinfo/xmlsec > > > > _______________________________________________ xmlsec mailing list [email protected] http://www.aleksey.com/mailman/listinfo/xmlsec
