axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chinthana Danapala (JIRA)" <>
Subject [jira] Commented: (AXISCPP-507) Memory leaks in deserialize methods of XSD classes (in src/soap/xsd)
Date Mon, 07 Mar 2005 08:59:53 GMT
     [ ]
Chinthana Danapala commented on AXISCPP-507:

In XSD class int.cpp has the problem.

Here m_Int pointer is not deleting anywhere in the code.

It should delete in destructor.
  delete m_Int;
 and make a deep copy in a calling classes.

And there is short way of doing this as bellow.

we can have deep copy in auto generated code and delete the pointer there like this.

In WSDL style="document"

	xsd__int r =* pReturn;
	Ret = r;
	delete pReturn;
	return Ret;

In WSDL style="rpc" 

		xsd__int r = *Ret;
		delete Ret;
		return r;

> Memory leaks in deserialize methods of XSD classes (in src/soap/xsd)
> --------------------------------------------------------------------
>          Key: AXISCPP-507
>          URL:
>      Project: Axis-C++
>         Type: Bug
>   Components: SOAP
>     Versions: current (nightly)
>     Reporter: Samisa Abeysinghe
>      Fix For: 1.5 Final

> Deserialize method returns a pointer that is never deleted. The generated code, dereferances
the pointer and returns values to the Stub.
> Hence, the generated code should take care of the clearance of memeory.
> I tried to release this  memeory in the destructor of the XSD class, but then by the
time the generated code tries to access the value, the pointer is no more. This leaves the
only option of deleting the memory returned in the generated code where it invokes the respective
> Alternatively, we can make the XSD class manage its own memory and let the code accessing
the memory make a deep copy of the returned pointer (that is generated code)
> Whateve the fix would be, it needs changes to code generator.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
If you want more information on JIRA, or have a bug to report see:

View raw message