On 10/10/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:

On the plane on my way to ApacheCon I was playing around with our Web
Services support (adding a Web Services client to BigBank) and found a
serious problem in Axis2Client and WSServiceProxy, which allocate the
DataObject pointers they return on the stack instead of doing a new
DataObjectPtr. This causes a memory violation if a client tries to
access a DataObject returned from a Web service.

I raised JIRA TUSCANY-816 for this, have the fix but need to do a little
more testing before I commit it. If things go well I should be able to
commit it later this evening.


Having a quick glance at this code I was wondering who frees up the memory
allocated by Axis2Client and set in the Operation?
For DataObjectPtr we could have the Operation::setParameter/setReturnValue
methods new up a DataObjectPtr and free it in the destructor. This would
work nicely with this as it is reference counted. A different solution would
be needed for the other types.

Cheers,


--
Pete

Reply via email to