[ http://issues.apache.org/jira/browse/AXISCPP-256?page=all ]
     
Dushshantha Chandradasa resolved AXISCPP-256:
---------------------------------------------

    Resolution: Fixed

I made the following changes to SoapFault::setParam class to accept any type 
for pValue. Hope this will solve the problem mentioned in this issue.

int SoapFault::setParam(Param* pParam, const AxisChar* pchName, const void* 
pValue, XSDTYPE type)
{
    if (!pParam) return AXIS_FAIL;
    pParam->m_sName = pchName;
    pParam->setValue( type , (IAnySimpleType*) pValue);
    return AXIS_SUCCESS;
}

Testing with C++ server side is safe so i clase down the issue.

> SoapFault::setParam fails when xsdtype is not a string
> ------------------------------------------------------
>
>          Key: AXISCPP-256
>          URL: http://issues.apache.org/jira/browse/AXISCPP-256
>      Project: Axis-C++
>         Type: Bug
>   Components: SOAP
>     Versions: current (nightly)
>     Reporter: Mark Whitlock
>     Assignee: Dushshantha Chandradasa
>     Priority: Minor
>      Fix For: 1.6 Alpha

>
> SoapFault::setParam used to copy the value into a fault using strdup which 
> assumes the value is a string (which it normally is). But the value could be 
> any type, so this code will fail (and may sigsegv) for types other than 
> strings. I have recently changed the code to replace strdup's with new's and 
> strcpy's, so that is how I discovered this bug, but as yet I haven't fixed it.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to