WSDL2C generates improper code 
-------------------------------

                 Key: AXIS2-5003
                 URL: https://issues.apache.org/jira/browse/AXIS2-5003
             Project: Axis2
          Issue Type: Bug
          Components: codegen
    Affects Versions: 1.5.4
            Reporter: Janusz Pulit
            Priority: Minor


Stub generated by WSDL2C contains bug, in generated code we can see something 
like: 
 
  soap_act = axis2_options_get_soap_action( options, env );
            
            if (NULL == soap_act)
            {
              is_soap_act_set = AXIS2_FALSE;
              soap_action = "http://dummy/SampleService/dummyRequest";;
              soap_act = axutil_string_create(env, 
"http://dummy/SampleService/dummyRequest";);
              axis2_options_set_soap_action(options, env, soap_act);    
            }
            
            axis2_options_set_soap_version(options, env, AXIOM_SOAP11);
             
            ret_node =  axis2_svc_client_send_receive_with_op_qname( 
svc_client, env, op_qname, payload);

            if (!is_soap_act_set)
            {
              axis2_options_set_soap_action(options, env, NULL);    
              axis2_options_set_action( options, env, NULL);
            }
        
            if(soap_act)
            {
              axutil_string_free(soap_act, env); 
            }

The problem is that soap_act string should be freed only in case if it wasn't 
retrieved from options, and was created with axutil_string_create() call
If soap_action parameter will be set in options, existing implementation will 
retrieve that string with axis2_options_get_soap_action() call, and then free 
it, each next subsequent call will cause crash (because it will try to release 
already freed memory)


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to