You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2008/01/30 09:32:02 UTC

svn commit: r616682 - in /webservices/axis2/trunk/c/axiom/src/soap: soap_body.c soap_fault_text.c soap_fault_value.c

Author: dinesh
Date: Wed Jan 30 00:31:55 2008
New Revision: 616682

URL: http://svn.apache.org/viewvc?rev=616682&view=rev
Log:
fixed axis2c-925, seg fault in axiom_soap_fault_get_text if SOAP 1.1

Modified:
    webservices/axis2/trunk/c/axiom/src/soap/soap_body.c
    webservices/axis2/trunk/c/axiom/src/soap/soap_fault_text.c
    webservices/axis2/trunk/c/axiom/src/soap/soap_fault_value.c

Modified: webservices/axis2/trunk/c/axiom/src/soap/soap_body.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/soap_body.c?rev=616682&r1=616681&r2=616682&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/soap_body.c (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/soap_body.c Wed Jan 30 00:31:55 2008
@@ -25,8 +25,8 @@
 #include <axiom_soap_fault_reason.h>
 #include <axiom_soap_fault_detail.h>
 #include <axiom_soap_fault_role.h>
-#include <axiom_soap_fault_value.h>
-#include <axiom_soap_fault_text.h>
+#include "_axiom_soap_fault_value.h"
+#include "_axiom_soap_fault_text.h"
 
 struct axiom_soap_body
 {
@@ -403,10 +403,11 @@
                                                 (fault_code_om_ele, env, text,
                                                  fault_code_om_node);
                                         }
-                                        axiom_node_free_tree
-                                            (fault_value_om_node, env);
                                     }
-
+                                    axiom_node_free_tree
+                                        (fault_value_om_node, env);
+                                    axiom_soap_fault_value_set_base_node
+                                        (fault_value, env, NULL);
                                 }
                             }
                         }
@@ -470,6 +471,8 @@
                                     }
                                     axiom_node_free_tree(fault_text_om_node,
                                                          env);
+                                    axiom_soap_fault_text_set_base_node
+                                        (fault_text, env, NULL);
                                 }
                             }
                         }

Modified: webservices/axis2/trunk/c/axiom/src/soap/soap_fault_text.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/soap_fault_text.c?rev=616682&r1=616681&r2=616682&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/soap_fault_text.c (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/soap_fault_text.c Wed Jan 30 00:31:55 2008
@@ -247,9 +247,8 @@
     axiom_node_t * node)
 {
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-    AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE);
 
-    if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT)
+    if (node && (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT))
     {
         AXIS2_ERROR_SET(env->error,
                         AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE);

Modified: webservices/axis2/trunk/c/axiom/src/soap/soap_fault_value.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/soap_fault_value.c?rev=616682&r1=616681&r2=616682&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/soap_fault_value.c (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/soap_fault_value.c Wed Jan 30 00:31:55 2008
@@ -190,7 +190,7 @@
 {
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
-    if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT)
+    if (node && (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT))
     {
         AXIS2_ERROR_SET(env->error,
                         AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE);



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