in conf_init.c whether service is loaded not checked
----------------------------------------------------

                 Key: AXIS2C-708
                 URL: https://issues.apache.org/jira/browse/AXIS2C-708
             Project: Axis2-C
          Issue Type: Bug
            Reporter: Damitha Kumarage


In conf_init.c 
impl_class = axutil_class_loader_create_dll(env, impl_info_param);
                        axis2_svc_set_impl_class(svc_desc, env, impl_class);
                        AXIS2_SVC_SKELETON_INIT_WITH_CONF(
                            (axis2_svc_skeleton_t *)impl_class, env, conf);

it can be seen that impl_class is not NULL checked before used. This could lead 
to seg faults in startup services if it is not
loaded for some reason.
Fixed this as
                        impl_class = axutil_class_loader_create_dll(env, 
impl_info_param);
                        if(!impl_class)
                        {
                            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
                                "Service %s could not be loaded",
                                axis2_svc_get_name(svc_desc, env));
                            
axutil_allocator_switch_to_local_pool(env->allocator);
                            return AXIS2_FAILURE;
                        }
                        axis2_svc_set_impl_class(svc_desc, env, impl_class);
                        AXIS2_SVC_SKELETON_INIT_WITH_CONF(
                            (axis2_svc_skeleton_t *)impl_class, env, conf);
                        axutil_allocator_switch_to_local_pool(env->allocator);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to