You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Jose M. Sánchez (JIRA)" <ji...@apache.org> on 2006/10/11 17:23:24 UTC

[jira] Created: (AXIS2C-330) Null pointer read while parsing WSDL

Null pointer read while parsing WSDL
------------------------------------

                 Key: AXIS2C-330
                 URL: http://issues.apache.org/jira/browse/AXIS2C-330
             Project: Axis2-C
          Issue Type: Bug
          Components: woden
    Affects Versions: Current (Nightly)
         Environment: Windows XP
            Reporter: Jose M. Sánchez


While parsing a WSDL file  my program crashes because of reading a null pointer.

While debugging I have found the following situation:

file: /c/woden/src/wsdl/documentable.c

I see that:

    documentable_impl_l = NULL

    woden_documentable_resolve_methods(
        woden_documentable_t *documentable,
        const axis2_env_t *env,
        woden_documentable_t *documentable_impl,
        axis2_hash_t *methods)
    {
    [...]
        documentable->ops->add_documentation_element = axis2_hash_get(methods, <-- after this, add_documentation_element = NULL
                "add_documentation_element", AXIS2_HASH_KEY_STRING);
        if (!documentable->ops->add_documentation_element && documentable_impl_l) <-- it does not enter here
            documentable->ops->add_documentation_element =
                documentable_impl_l->documentable.ops->add_documentation_element;
    [...]
    }


after the execution of this function, the operation add_documentation_element = NULL, then in the following function it fails:


file: /c/woden/src/builder/wsdl10_reader.c

    static void *
    parse_interface_op(
        void *reader,
        const axis2_env_t *env,
        axiom_node_t *op_el_node,
        void *desc,
        void *parent)
    {
    [...]
            if (AXIS2_TRUE == axis2_qname_util_matches(env,
                    q_elem_documentation, temp_el_node))
            {
                void *documentation = NULL;

                documentation = parse_documentation(reader, env, temp_el_node, desc);
                op = woden_interface_op_to_documentable(op, env);
                WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT(op, env, documentation); <-- Fails here
            }

    [...]
    }

The call to WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT fails, because the method add_documentation_element is null.

I have tested this with my own code, as well as with the test_woden sample program (which is very similar to my code), using different wsdl files, for example the googlesearch.wsdl file, and the result was always the same.


-- 
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

       

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


Re: [jira] Created: (AXIS2C-330) Null pointer read while parsing WSDL

Posted by Damitha Kumarage <da...@gmail.com>.
Hi Jose M. Sánchez
I tested with the attached googlesearch.wsdl after fixing a bug in 
XmlSchema. test_wsdl1 sample works.
Please send your googlesearch.wsdl if it is differnt.

Damitha

>Null pointer read while parsing WSDL
>------------------------------------
>
>                 Key: AXIS2C-330
>                 URL: http://issues.apache.org/jira/browse/AXIS2C-330
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: woden
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP
>            Reporter: Jose M. Sánchez
>
>
>While parsing a WSDL file  my program crashes because of reading a null pointer.
>
>While debugging I have found the following situation:
>
>file: /c/woden/src/wsdl/documentable.c
>
>I see that:
>
>    documentable_impl_l = NULL
>
>    woden_documentable_resolve_methods(
>        woden_documentable_t *documentable,
>        const axis2_env_t *env,
>        woden_documentable_t *documentable_impl,
>        axis2_hash_t *methods)
>    {
>    [...]
>        documentable->ops->add_documentation_element = axis2_hash_get(methods, <-- after this, add_documentation_element = NULL
>                "add_documentation_element", AXIS2_HASH_KEY_STRING);
>        if (!documentable->ops->add_documentation_element && documentable_impl_l) <-- it does not enter here
>            documentable->ops->add_documentation_element =
>                documentable_impl_l->documentable.ops->add_documentation_element;
>    [...]
>    }
>
>
>after the execution of this function, the operation add_documentation_element = NULL, then in the following function it fails:
>
>
>file: /c/woden/src/builder/wsdl10_reader.c
>
>    static void *
>    parse_interface_op(
>        void *reader,
>        const axis2_env_t *env,
>        axiom_node_t *op_el_node,
>        void *desc,
>        void *parent)
>    {
>    [...]
>            if (AXIS2_TRUE == axis2_qname_util_matches(env,
>                    q_elem_documentation, temp_el_node))
>            {
>                void *documentation = NULL;
>
>                documentation = parse_documentation(reader, env, temp_el_node, desc);
>                op = woden_interface_op_to_documentable(op, env);
>                WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT(op, env, documentation); <-- Fails here
>            }
>
>    [...]
>    }
>
>The call to WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT fails, because the method add_documentation_element is null.
>
>I have tested this with my own code, as well as with the test_woden sample program (which is very similar to my code), using different wsdl files, for example the googlesearch.wsdl file, and the result was always the same.
>
>
>  
>


[jira] Commented: (AXIS2C-330) Null pointer read while parsing WSDL

Posted by "Jose M. Sánchez (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2C-330?page=comments#action_12450711 ] 
            
Jose M. Sánchez commented on AXIS2C-330:
----------------------------------------


Thanks, now it works, but I have tested that if you add documentation elements to the operation it still fails in the same place.

For example by modifying the googlesearch.wsdl as follows you can reproduce the problem:

[...]
  <portType name="GoogleSearchPort">

    <operation name="doGetCachedPage">
      <documentation>test</documentation> <-- I have added this documentation element
      <input message="typens:doGetCachedPage"/>
      <output message="typens:doGetCachedPageResponse"/>
    </operation>

    <operation name="doSpellingSuggestion">
      <input message="typens:doSpellingSuggestion"/>
      <output message="typens:doSpellingSuggestionResponse"/>
    </operation>

    <operation name="doGoogleSearch">
      <input message="typens:doGoogleSearch"/>
      <output message="typens:doGoogleSearchResponse"/>
    </operation>

  </portType>
[...]

> Null pointer read while parsing WSDL
> ------------------------------------
>
>                 Key: AXIS2C-330
>                 URL: http://issues.apache.org/jira/browse/AXIS2C-330
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: woden
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP
>            Reporter: Jose M. Sánchez
>
> While parsing a WSDL file  my program crashes because of reading a null pointer.
> While debugging I have found the following situation:
> file: /c/woden/src/wsdl/documentable.c
> I see that:
>     documentable_impl_l = NULL
>     woden_documentable_resolve_methods(
>         woden_documentable_t *documentable,
>         const axis2_env_t *env,
>         woden_documentable_t *documentable_impl,
>         axis2_hash_t *methods)
>     {
>     [...]
>         documentable->ops->add_documentation_element = axis2_hash_get(methods, <-- after this, add_documentation_element = NULL
>                 "add_documentation_element", AXIS2_HASH_KEY_STRING);
>         if (!documentable->ops->add_documentation_element && documentable_impl_l) <-- it does not enter here
>             documentable->ops->add_documentation_element =
>                 documentable_impl_l->documentable.ops->add_documentation_element;
>     [...]
>     }
> after the execution of this function, the operation add_documentation_element = NULL, then in the following function it fails:
> file: /c/woden/src/builder/wsdl10_reader.c
>     static void *
>     parse_interface_op(
>         void *reader,
>         const axis2_env_t *env,
>         axiom_node_t *op_el_node,
>         void *desc,
>         void *parent)
>     {
>     [...]
>             if (AXIS2_TRUE == axis2_qname_util_matches(env,
>                     q_elem_documentation, temp_el_node))
>             {
>                 void *documentation = NULL;
>                 documentation = parse_documentation(reader, env, temp_el_node, desc);
>                 op = woden_interface_op_to_documentable(op, env);
>                 WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT(op, env, documentation); <-- Fails here
>             }
>     [...]
>     }
> The call to WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT fails, because the method add_documentation_element is null.
> I have tested this with my own code, as well as with the test_woden sample program (which is very similar to my code), using different wsdl files, for example the googlesearch.wsdl file, and the result was always the same.

-- 
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

       

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


[jira] Resolved: (AXIS2C-330) Null pointer read while parsing WSDL

Posted by "Samisa Abeysinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2C-330?page=all ]

Samisa Abeysinghe resolved AXIS2C-330.
--------------------------------------

    Fix Version/s: 0.96
       Resolution: Fixed

This issue seem to have been fixed by Damitha

> Null pointer read while parsing WSDL
> ------------------------------------
>
>                 Key: AXIS2C-330
>                 URL: http://issues.apache.org/jira/browse/AXIS2C-330
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: woden
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP
>            Reporter: Jose M. Sánchez
>             Fix For: 0.96
>
>
> While parsing a WSDL file  my program crashes because of reading a null pointer.
> While debugging I have found the following situation:
> file: /c/woden/src/wsdl/documentable.c
> I see that:
>     documentable_impl_l = NULL
>     woden_documentable_resolve_methods(
>         woden_documentable_t *documentable,
>         const axis2_env_t *env,
>         woden_documentable_t *documentable_impl,
>         axis2_hash_t *methods)
>     {
>     [...]
>         documentable->ops->add_documentation_element = axis2_hash_get(methods, <-- after this, add_documentation_element = NULL
>                 "add_documentation_element", AXIS2_HASH_KEY_STRING);
>         if (!documentable->ops->add_documentation_element && documentable_impl_l) <-- it does not enter here
>             documentable->ops->add_documentation_element =
>                 documentable_impl_l->documentable.ops->add_documentation_element;
>     [...]
>     }
> after the execution of this function, the operation add_documentation_element = NULL, then in the following function it fails:
> file: /c/woden/src/builder/wsdl10_reader.c
>     static void *
>     parse_interface_op(
>         void *reader,
>         const axis2_env_t *env,
>         axiom_node_t *op_el_node,
>         void *desc,
>         void *parent)
>     {
>     [...]
>             if (AXIS2_TRUE == axis2_qname_util_matches(env,
>                     q_elem_documentation, temp_el_node))
>             {
>                 void *documentation = NULL;
>                 documentation = parse_documentation(reader, env, temp_el_node, desc);
>                 op = woden_interface_op_to_documentable(op, env);
>                 WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT(op, env, documentation); <-- Fails here
>             }
>     [...]
>     }
> The call to WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT fails, because the method add_documentation_element is null.
> I have tested this with my own code, as well as with the test_woden sample program (which is very similar to my code), using different wsdl files, for example the googlesearch.wsdl file, and the result was always the same.

-- 
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

       

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


[jira] Commented: (AXIS2C-330) Null pointer read while parsing WSDL

Posted by "Damitha Kumarage (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2C-330?page=comments#action_12451217 ] 
            
Damitha Kumarage commented on AXIS2C-330:
-----------------------------------------

Fixed. The problem is due to a mistake
Damitha

> Null pointer read while parsing WSDL
> ------------------------------------
>
>                 Key: AXIS2C-330
>                 URL: http://issues.apache.org/jira/browse/AXIS2C-330
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: woden
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP
>            Reporter: Jose M. Sánchez
>
> While parsing a WSDL file  my program crashes because of reading a null pointer.
> While debugging I have found the following situation:
> file: /c/woden/src/wsdl/documentable.c
> I see that:
>     documentable_impl_l = NULL
>     woden_documentable_resolve_methods(
>         woden_documentable_t *documentable,
>         const axis2_env_t *env,
>         woden_documentable_t *documentable_impl,
>         axis2_hash_t *methods)
>     {
>     [...]
>         documentable->ops->add_documentation_element = axis2_hash_get(methods, <-- after this, add_documentation_element = NULL
>                 "add_documentation_element", AXIS2_HASH_KEY_STRING);
>         if (!documentable->ops->add_documentation_element && documentable_impl_l) <-- it does not enter here
>             documentable->ops->add_documentation_element =
>                 documentable_impl_l->documentable.ops->add_documentation_element;
>     [...]
>     }
> after the execution of this function, the operation add_documentation_element = NULL, then in the following function it fails:
> file: /c/woden/src/builder/wsdl10_reader.c
>     static void *
>     parse_interface_op(
>         void *reader,
>         const axis2_env_t *env,
>         axiom_node_t *op_el_node,
>         void *desc,
>         void *parent)
>     {
>     [...]
>             if (AXIS2_TRUE == axis2_qname_util_matches(env,
>                     q_elem_documentation, temp_el_node))
>             {
>                 void *documentation = NULL;
>                 documentation = parse_documentation(reader, env, temp_el_node, desc);
>                 op = woden_interface_op_to_documentable(op, env);
>                 WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT(op, env, documentation); <-- Fails here
>             }
>     [...]
>     }
> The call to WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT fails, because the method add_documentation_element is null.
> I have tested this with my own code, as well as with the test_woden sample program (which is very similar to my code), using different wsdl files, for example the googlesearch.wsdl file, and the result was always the same.

-- 
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

       

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


[jira] Commented: (AXIS2C-330) Null pointer read while parsing WSDL

Posted by "Damitha Kumarage (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2C-330?page=comments#action_12449271 ] 
            
Damitha Kumarage commented on AXIS2C-330:
-----------------------------------------

I tested with the attached googlesearch.wsdl after fixing a bug in XmlSchema. test_wsdl1 sample works.
Please send your googlesearch.wsdl if it is differnt.

> Null pointer read while parsing WSDL
> ------------------------------------
>
>                 Key: AXIS2C-330
>                 URL: http://issues.apache.org/jira/browse/AXIS2C-330
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: woden
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP
>            Reporter: Jose M. Sánchez
>
> While parsing a WSDL file  my program crashes because of reading a null pointer.
> While debugging I have found the following situation:
> file: /c/woden/src/wsdl/documentable.c
> I see that:
>     documentable_impl_l = NULL
>     woden_documentable_resolve_methods(
>         woden_documentable_t *documentable,
>         const axis2_env_t *env,
>         woden_documentable_t *documentable_impl,
>         axis2_hash_t *methods)
>     {
>     [...]
>         documentable->ops->add_documentation_element = axis2_hash_get(methods, <-- after this, add_documentation_element = NULL
>                 "add_documentation_element", AXIS2_HASH_KEY_STRING);
>         if (!documentable->ops->add_documentation_element && documentable_impl_l) <-- it does not enter here
>             documentable->ops->add_documentation_element =
>                 documentable_impl_l->documentable.ops->add_documentation_element;
>     [...]
>     }
> after the execution of this function, the operation add_documentation_element = NULL, then in the following function it fails:
> file: /c/woden/src/builder/wsdl10_reader.c
>     static void *
>     parse_interface_op(
>         void *reader,
>         const axis2_env_t *env,
>         axiom_node_t *op_el_node,
>         void *desc,
>         void *parent)
>     {
>     [...]
>             if (AXIS2_TRUE == axis2_qname_util_matches(env,
>                     q_elem_documentation, temp_el_node))
>             {
>                 void *documentation = NULL;
>                 documentation = parse_documentation(reader, env, temp_el_node, desc);
>                 op = woden_interface_op_to_documentable(op, env);
>                 WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT(op, env, documentation); <-- Fails here
>             }
>     [...]
>     }
> The call to WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT fails, because the method add_documentation_element is null.
> I have tested this with my own code, as well as with the test_woden sample program (which is very similar to my code), using different wsdl files, for example the googlesearch.wsdl file, and the result was always the same.

-- 
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

       

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