Berin, I'm not calling those functions from my code, but they are called implicitly by XSEC 1.1 in those cases:
1. DSIGReference::createBlankReference() is called when sig->createReference(MAKE_UNICODE_STRING(s)) is called and 2. DSIGReference::load() is called when sig->load() is called. Best regards, Milan > -----Original Message----- > From: Berin Lautenbach [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 24, 2004 11:19 AM > To: [EMAIL PROTECTED] > Subject: Re: DSIGReference (free) > > > Milan, > > I'm confused. > > The memory leak you show below only makes sense if somehow the > mp_transformsList variable is set to NULL prior to the > Reference being > deleted. If the Reference itself was not deleted, then a formatter > object would also be left hanging around. So the reference is being > deleted, but mp_transformList is either NULL or has been over-written > and a new one is being deleted. > > The only places mp_transformList is set to NULL or re-created > is where > DSIGReference::createBlankReference() is called - which would > indicate a > reference node being re-used, or DSIGReference::load() is > called, which > would also indicate a reference being re-used. > > Does either of those scenarious sound possible? > > Cheers, > Berin > > > Milan Tomic wrote: > > > Berin, > > > > Should I delete DSIGReference (and when?) returned from > > DSIGSignature::CreateReference() function? I have this > peace of code: > > > > } else { > > DSIGReference *ref; > > ref = sig->createReference(MAKE_UNICODE_STRING("")); > > > > DSIGTransformEnvelope *env = > > ref->appendEnvelopedSignatureTransform(); > > DSIGTransformC14n *c14 = > > ref->appendCanonicalizationTransform(CANON_C14NE_NOC); > > } > > > > I'm reading memory leaks here: > > > > xml-security-c-1.1.0\src\dsig\dsigreference.cpp(254) : {2471} normal > > block at 0x00F69628, 24 bytes long. > > Data: < 8$ > F4 9C 90 00 38 24 F9 00 C8 0C FA > 00 03 00 00 00 > > xml-security-c-1.1.0\src\dsig\dsigreference.cpp(189) : > {2469} normal > > block at 0x00F61EF0, 16 bytes long. > > Data: < > CC CD CD CD 80 96 F6 00 88 96 F6 > 00 88 96 F6 00 > > xml-security-c-1.1.0\src\dsig\dsigreference.cpp(211) : > {2464} normal > > block at 0x00F61C78, 12 bytes long. > > Data: <D > 44 9F 90 00 C8 20 F9 00 C8 0C FA 00 > > > > I've tried to delete "ref" variable but failed. > > > > Best regards, > > Milan > > >