[
http://issues.apache.org/jira/browse/AXISCPP-507?page=comments#action_60343 ]
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.
Int::~Int()
{
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: http://issues.apache.org/jira/browse/AXISCPP-507
> 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 method.
> 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:
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