You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by Aparna Vasanth <av...@brocade.com> on 2001/05/21 21:04:19 UTC

Debug assertion while deleting memory returned from DOM_node::tra nscode()

Hi.

I read some of the FAQ and the reason given for this is that there is mixing
of runtime libraries.
Now we are building an NTHAPI release and debug dll and we are using the
correct release and debug xerces dlls.

But the problem is because xerces dll uses runtime system libraries while we
are doing a static link of the sytstem libraries while building our NTHAPI
dll.

This is why the debug assertion is happening.
Of course we could solve the problem by rebuilding our NTHAPI.dll using
dynamic system libraries instead.
But is there another way to solve this problem, like maybe some other xerces
call?

Here is the code which is causing the debug assertion.

	char *itemOid = NULL;
	itemOid = extractText(dOIDList.item(i)).transcode();
	strncpy(poidset[i].OIDword, itemOid, 20);
	if (itemOid) { delete [] itemOid; }   // HERE

Cheers
Aps


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org


RE: Debug assertion while deleting memory returned from DOM_node::transcode()

Posted by "Stanford S. Guillory" <gu...@vignette.com>.
If you are going to receive pointers to dynamically allocated
memory from a dll that uses a different runtime (hence a
different heap) than your component, then you typically have
to have the originating dll perform the delete for you, which
means that dll has to provide a delete_* API.

I don't know if xerces has such a thing or not. Your best bet
is to use a uniform runtime library across all binaries if you
can.

Stan


-----Original Message-----
From: Aparna Vasanth [mailto:avasanth@brocade.com]
Sent: Monday, May 21, 2001 2:04 PM
To: 'xerces-cvs@xml.apache.org'
Subject: Debug assertion while deleting memory returned from
DOM_node::transcode()


Hi.

I read some of the FAQ and the reason given for this is that there is mixing
of runtime libraries.
Now we are building an NTHAPI release and debug dll and we are using the
correct release and debug xerces dlls.

But the problem is because xerces dll uses runtime system libraries while we
are doing a static link of the sytstem libraries while building our NTHAPI
dll.

This is why the debug assertion is happening.
Of course we could solve the problem by rebuilding our NTHAPI.dll using
dynamic system libraries instead.
But is there another way to solve this problem, like maybe some other xerces
call?

Here is the code which is causing the debug assertion.

	char *itemOid = NULL;
	itemOid = extractText(dOIDList.item(i)).transcode();
	strncpy(poidset[i].OIDword, itemOid, 20);
	if (itemOid) { delete [] itemOid; }   // HERE

Cheers
Aps


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org