You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2007/10/14 12:47:17 UTC

svn commit: r584527 - /webservices/axis2/trunk/c/src/core/deployment/conf_init.c

Author: damitha
Date: Sun Oct 14 03:47:16 2007
New Revision: 584527

URL: http://svn.apache.org/viewvc?rev=584527&view=rev
Log:
There was no check on the return value of AXIS2_SVC_SKELETON_INIT_WITH_CONF().
Fixed this by writing to the error log and returning failure if this function fail

Modified:
    webservices/axis2/trunk/c/src/core/deployment/conf_init.c

Modified: webservices/axis2/trunk/c/src/core/deployment/conf_init.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/deployment/conf_init.c?rev=584527&r1=584526&r2=584527&view=diff
==============================================================================
--- webservices/axis2/trunk/c/src/core/deployment/conf_init.c (original)
+++ webservices/axis2/trunk/c/src/core/deployment/conf_init.c Sun Oct 14 03:47:16 2007
@@ -218,11 +218,26 @@
                         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
+                        status = AXIS2_SVC_SKELETON_INIT_WITH_CONF((axis2_svc_skeleton_t
                                                            *) impl_class, env,
                                                           conf);
                         axutil_allocator_switch_to_local_pool(env->allocator);
+                        if(!status)
+                        {
+                            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
+                                "Service %s initialization Failed", 
+                                axis2_svc_get_name(svc_desc, env));
+                            return AXIS2_FAILURE;
+                        }
                     }
                 }
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org